refcounting problems with ibm_acpi but acpi=off

From: Pavel Machek
Date: Tue Aug 07 2007 - 08:44:25 EST


Hi!

I get this nastyness in syslog if I compile ibm_acpi into kernel, then
boot with acpi=off.

floppy0: no floppy controllers found
loop: module loaded
WARNING: at lib/kref.c:33 kref_get()
[<c025bd80>] kref_get+0x40/0x50
[<c025aeff>] kobject_get+0xf/0x20
[<c0325eee>] get_driver+0xe/0x20
[<c0325f13>] driver_remove_file+0x13/0x40
[<c0337812>] thinkpad_acpi_module_exit+0x92/0x100
[<c083a192>] thinkpad_acpi_module_init+0x252/0x810
[<c025a71a>] idr_get_new+0xa/0x30
[<c01ad15d>] proc_register+0x8d/0x100
[<c081e570>] kernel_init+0x140/0x320
[<c01040ca>] ret_from_fork+0x6/0x1c
[<c081e430>] kernel_init+0x0/0x320
[<c081e430>] kernel_init+0x0/0x320
[<c0104d8f>] kernel_thread_helper+0x7/0x18
=======================
WARNING: at lib/kref.c:33 kref_get()
[<c025bd80>] kref_get+0x40/0x50
[<c025aeff>] kobject_get+0xf/0x20
[<c0325eee>] get_driver+0xe/0x20
[<c0325f13>] driver_remove_file+0x13/0x40
[<c0337812>] thinkpad_acpi_module_exit+0x92/0x100
[<c083a192>] thinkpad_acpi_module_init+0x252/0x810
[<c025a71a>] idr_get_new+0xa/0x30
[<c01ad15d>] proc_register+0x8d/0x100
[<c081e570>] kernel_init+0x140/0x320
[<c01040ca>] ret_from_fork+0x6/0x1c
[<c081e430>] kernel_init+0x0/0x320
[<c081e430>] kernel_init+0x0/0x320
[<c0104d8f>] kernel_thread_helper+0x7/0x18
=======================
WARNING: at lib/kref.c:33 kref_get()
[<c025bd80>] kref_get+0x40/0x50
[<c025aeff>] kobject_get+0xf/0x20
[<c0325eee>] get_driver+0xe/0x20
[<c0325f13>] driver_remove_file+0x13/0x40
[<c0337812>] thinkpad_acpi_module_exit+0x92/0x100
[<c083a192>] thinkpad_acpi_module_init+0x252/0x810
[<c025a71a>] idr_get_new+0xa/0x30
[<c01ad15d>] proc_register+0x8d/0x100
[<c081e570>] kernel_init+0x140/0x320
[<c01040ca>] ret_from_fork+0x6/0x1c
[<c081e430>] kernel_init+0x0/0x320
[<c081e430>] kernel_init+0x0/0x320
[<c0104d8f>] kernel_thread_helper+0x7/0x18
=======================
Intel(R) PRO/1000 Network Driver - version 7.3.20-k2
Copyright (c) 1999-2006 Intel Corporation.
PCI: Found IRQ 11 for device 0000:02:00.0
PCI: Sharing IRQ 11 with 0000:00:1c.0

...

Perhaps this is needed?
Pavel

diff --git a/drivers/acpi/ibm_acpi.c b/drivers/acpi/ibm_acpi.c
index a664f2b..654a124 100644
--- a/drivers/acpi/ibm_acpi.c
+++ b/drivers/acpi/ibm_acpi.c
@@ -2695,6 +2695,9 @@ static void acpi_ibm_exit(void)
{
int i;

+ if (acpi_disabled)
+ return;
+
for (i = ARRAY_SIZE(ibms) - 1; i >= 0; i--)
ibm_exit(&ibms[i]);


--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-
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/