Re: [PATCH 2.6.17-rc3] Fix capi reload by unregistering the correctmajor

From: Andrew Morton
Date: Mon May 08 2006 - 15:58:22 EST


Stefan Schweizer <genstef@xxxxxxxxxx> wrote:
>
> I am having the bug
> FATAL: Error inserting capi ([..]/capi.ko): Device or resource busy
> when I try to reload capi after loading it.
> in dmesg: capi20: unable to get major 68

This is odd.

> I attached a patch to fix the issue which is caused by setting the major to
> zero when registering the chrdev succeeded. Please apply
> - - Stefan
>
> errors in the dmesg:
>
> CAPI Subsystem Rev 1.1.2.8
> capifs: Rev 1.1.2.3
> capi20: Rev 1.1.2.7: started up with major 0 (middleware+capifs)
> <-- here you see that it was set to 0.
> (after unload and retry)
> capi: Rev 1.1.2.7: unloaded
> CAPI Subsystem Rev 1.1.2.8
> capi20: unable to get major 68
> <-- the chrdev has not been unlinked

> --- drivers/isdn/capi/capi.c.orig 2006-04-29 18:40:25.000000000 +0200
> +++ drivers/isdn/capi/capi.c 2006-04-29 18:27:22.000000000 +0200
> @@ -1499,7 +1499,6 @@
> printk(KERN_ERR "capi20: unable to get major %d\n", capi_major);
> return major_ret;
> }
> - capi_major = major_ret;
> capi_class = class_create(THIS_MODULE, "capi");
> if (IS_ERR(capi_class)) {
> unregister_chrdev(capi_major, "capi20");
>
>
>

What does "unload and retry" mean?

An `rmmod capi;modprobe capi' will reset the major to 68, so you must mean
something else. What?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/