It appears that interrupts didn't get enabled during probe. From mpt_attach(), we are issusing some commands that require interrupts, and they don't complete ending up in mpt_do_ioc_recovery being called. When mpt_do_ioc_recovery is called, it calls the callback handlers for each registerred driver, for instance mptsas. From mptsas, the mptsas_ioc_reset is called. It appears the oops occurs on the if(!hd || !hd->ioc) check, but it wouldn't make any sense since it says in the log below "Unable to handle kernel NULL pointer dereference ". if hd was NULL, it should of returned. Can you run objdump -l -d on mptsas.ko, and find out where mptsas_ioc_reset+0x35 is.
Eric > -----Original Message----- > From: Judith Lebzelter [mailto:[EMAIL PROTECTED] > Sent: Thursday, March 01, 2007 2:00 PM > To: [email protected] > Cc: Moore, Eric; [EMAIL PROTECTED]; [EMAIL PROTECTED] > Subject: kdump testing: 'mptsas' oops/failure to insmod > > Hi, > > I am testing drivers for whether they come up in a kexec situation. > For mptsas I found that it oopses on the insmod and fails to load. > I am using lkdtt to trigger kexec and this happened for > FS_DEVRW(exception.loop,overflow,panic) and INT_HARDWARE_ENTRY(bug, > exception.loop,overflow) crash points. This was on 2.6.21-rc1/x86_64. > > Here is the oops: > > Loading mptsas.ko module^M > Fusion MPT SAS Host driver 3.04.04^M > ACPI: PCI Interrupt 0000:08:00.0[A] -> GSI 16 (level, low) -> IRQ 16^M > mptbase: Initiating ioc0 bringup^M > mptbase: ioc0: WARNING - Unexpected doorbell active!^M > ioc0: SAS1068E: Capabilities={Initiator}^M > PCI: Setting latency timer of device 0000:08:00.0 to 64^M > [-- MARK -- Thu Mar 1 08:30:00 2007]^M > Unable to handle kernel NULL pointer dereference at > 00000000000004d8 RIP: ^M > [<ffffffff88004250>] :mptsas:mptsas_ioc_reset+0x35/0x93^M > PGD 8606067 PUD 8601067 PMD 0 ^M > Oops: 0000 [1] ^M > CPU 0 ^M > Modules linked in: mptsas^M > Pid: 961, comm: insmod Not tainted 2.6.21-rc1-kdump #1^M > RIP: 0010:[<ffffffff88004250>] [<ffffffff88004250>] > :mptsas:mptsas_ioc_reset+0x35/0x93^M > RSP: 0000:ffff8100086159d8 EFLAGS: 00010206^M > RAX: 00000000000004d8 RBX: ffff810008b3d000 RCX: 000000000000000b^M > RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff810008b3d000^M > RBP: 0000000000000000 R08: ffffffff814732d0 R09: ffff810008682900^M > R10: ffff81000861c000 R11: ffffffff8800421b R12: 0000000000000000^M > R13: 0000000000000000 R14: ffff810008615a18 R15: ffffc20000010001^M > FS: 000000000057b850(0063) GS:ffffffff814ce000(0000) > knlGS:0000000000000000^M > CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b^M > CR2: 00000000000004d8 CR3: 00000000085fa000 CR4: 00000000000006e0^M > Process insmod (pid: 961, threadinfo ffff810008614000, task > ffff810008f30040)^M > Stack: ffff810008b3d008 ffff810008b3d000 000000000000000b > ffffffffffffffe0^M > ffff810008c20870 ffffffff812300ee 00000000000106c0 0000000100000000^M > 0000000000100100 0000000000200200 0000000000000000 0000000000200200^M > Call Trace:^M > [<ffffffff812300ee>] mpt_do_ioc_recovery+0xfe5/0x109b^M > [<ffffffff8123029f>] mpt_timer_expired+0x0/0x24^M > [<ffffffff81025357>] vprintk+0x22d/0x24c^M > [<ffffffff81047aca>] __alloc_pages+0x61/0x2a8^M > [<ffffffff81121a9e>] vsnprintf+0x557/0x59b^M > [<ffffffff81121bed>] sprintf+0x51/0x59^M > [<ffffffff8101483b>] mp_register_gsi+0x30/0xe5^M > [<ffffffff81231e6b>] mpt_attach+0x56a/0x686^M > [<ffffffff880042c4>] :mptsas:mptsas_probe+0x16/0x3df^M > [<ffffffff810962fa>] sysfs_make_dirent+0x29/0x38^M > [<ffffffff8112b76d>] pci_device_probe+0x4c/0x75^M > [<ffffffff8117c89a>] really_probe+0xc4/0x148^M > [<ffffffff8117cacb>] __driver_attach+0x6d/0xab^M > [<ffffffff8117ca5e>] __driver_attach+0x0/0xab^M > [<ffffffff8117ca5e>] __driver_attach+0x0/0xab^M > [<ffffffff8117bd72>] bus_for_each_dev+0x43/0x6e^M > [<ffffffff8117c0b4>] bus_add_driver+0x6b/0x18d^M > [<ffffffff8112b90b>] __pci_register_driver+0x72/0xa7^M > [<ffffffff8103bc10>] sys_init_module+0x1195/0x12e6^M > [<ffffffff8100913e>] system_call+0x7e/0x83^M > ^M > ^M > Code: 48 83 bd d8 04 00 00 00 74 49 4c 8d a5 a8 07 00 00 4c 39 a5 ^M > RIP [<ffffffff88004250>] :mptsas:mptsas_ioc_reset+0x35/0x93^M > RSP <ffff8100086159d8>^M > CR2: 00000000000004d8^M > Trying to resume from LABEL=SWAP^M > No suspend signature on swap, not resuming.^M > Check if /proc/vmcore exists:^M > Check if /proc/vmcore is readable:^M > sleep to be sure hardware is ready^M > mount -t ext3 /dev/sdc /dump^M > mount: could not find filesystem '/dev/sdc'^M > > > Thanks, > Judith Lebzelter > > > _______________________________________________ fastboot mailing list [email protected] https://lists.osdl.org/mailman/listinfo/fastboot
