My rx2620 won't boot a current linus-git kernel (2.6.19 worked). It dies with a NULL dereference: pci_hotplug: PCI Hot Plug PCI Core version: 0.5 acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 Unable to handle kernel NULL pointer dereference (address 0000000000000000) swapper[1]: Oops 4294967296 [1] Modules linked in: Pid: 1, CPU 1, comm: swapper psr : 0000101008026018 ifs : 8000000000000002 ip : [<0000000000000000>] Not tainted ip is at ia64_ivt+0x5fffffff00000000/0x400 Running git bisect points to this commit (and dropping out that call to acpiphp_glue_exit() from latest git does make the kernel boot). -Tony commit 0a9dee2739fd4385e83c3316e3f3bee641796638 Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Mon Oct 30 13:08:04 2006 -0800 acpiphp: fix missing acpiphp_glue_exit() acpiphp_glue_exit() needs to be called to unwind when no slots found. (It fixes data corruption when reloading acpiphp driver with no such devices) Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> diff --git a/drivers/pci/hotplug/acpiphp_core.c b/drivers/pci/hotplug/acpiphp_core.c index c57d9d5..c8b6907 100644 --- a/drivers/pci/hotplug/acpiphp_core.c +++ b/drivers/pci/hotplug/acpiphp_core.c @@ -303,8 +303,10 @@ static int __init init_acpi(void) /* read initial number of slots */ if (!retval) { num_slots = acpiphp_get_num_slots(); - if (num_slots == 0) + if (num_slots == 0) { + acpiphp_glue_exit(); retval = -ENODEV; + } } return retval; - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |