Re: [3.0-git16] Oops at driver_uevent_store().

From: Tetsuo Handa
Date: Wed Aug 03 2011 - 23:55:32 EST


Arnaud Lacombe wrote:
> Looking more closely, I'd say I have been too eager in the marking.
> The warning concern `pci_eisa_driver', not `pci_eisa_pci_tbl' which is
> also referenced by MODULE_DEVICE_TABLE().
>
> Does removing the annotation from `pci_eisa_pci_tbl' fix the BUG ?
No.

-static struct pci_device_id __initdata pci_eisa_pci_tbl[] = {
+static struct pci_device_id pci_eisa_pci_tbl[] = {

did not help.

Printing dmesg in verbose showed below three lines.

[ 0.262828] EISA bus registered
[ 6.291117] EISA: Probing bus 0 at eisa.0
[ 6.295445] EISA: Cannot allocate resource for mainboard

Manual printk() tracing showed below callchain.

virtual_eisa_root_init() calls eisa_root_register().
eisa_root_register() calls eisa_probe().
eisa_probe() returns -EBUSY since root->force_probe == 0.
eisa_root_register() calls release_resource() and returns -EBUSY.
virtual_eisa_root_init() calls platform_device_unregister() and returns -1.

Also, eisa_root_register() in pci_eisa_init() is not called.

So, it seems that something is wrong with cleanup.
pci_unregister_driver() is missing?
--
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/