On Wed, Mar 07, 2007 at 03:08:26PM -0700, Moore, Eric wrote:
> 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.
Hi Eric,
Here is the output for 'objdump -l -d' for mptsas_ioc_reset():
000000000000221b <mptsas_ioc_reset>:
mptsas_ioc_reset():
drivers/message/fusion/mptsas.c:817
221b: 41 55 push %r13
221d: 41 54 push %r12
221f: 41 89 f4 mov %esi,%r12d
2222: 55 push %rbp
2223: 53 push %rbx
2224: 48 89 fb mov %rdi,%rbx
2227: 48 83 ec 08 sub $0x8,%rsp
drivers/message/fusion/mptsas.c:818
222b: 48 8b af 48 01 00 00 mov 0x148(%rdi),%rbp
drivers/message/fusion/mptsas.c:822
2232: e8 00 00 00 00 callq 2237 <mptsas_ioc_reset+0x1c>
drivers/message/fusion/mptsas.c:824
2237: 80 7b 40 02 cmpb $0x2,0x40(%rbx)
drivers/message/fusion/mptsas.c:822
223b: 41 89 c5 mov %eax,%r13d
drivers/message/fusion/mptsas.c:824
223e: 75 63 jne 22a3 <mptsas_ioc_reset+0x88>
drivers/message/fusion/mptsas.c:827
2240: 41 ff cc dec %r12d
2243: 75 5e jne 22a3 <mptsas_ioc_reset+0x88>
drivers/message/fusion/mptsas.c:830
2245: 48 89 e8 mov %rbp,%rax
2248: 48 05 d8 04 00 00 add $0x4d8,%rax
224e: 74 53 je 22a3 <mptsas_ioc_reset+0x88>
2250: 48 83 bd d8 04 00 00 cmpq $0x0,0x4d8(%rbp)
2257: 00
2258: 74 49 je 22a3 <mptsas_ioc_reset+0x88>
drivers/message/fusion/mptsas.c:833
225a: 4c 8d a5 a8 07 00 00 lea 0x7a8(%rbp),%r12
2261: 4c 39 a5 a8 07 00 00 cmp %r12,0x7a8(%rbp)
2268: 74 39 je 22a3 <mptsas_ioc_reset+0x88>
drivers/message/fusion/mptsas.c:837
226a: 48 8b b8 d0 02 00 00 mov 0x2d0(%rax),%rdi
2271: 48 8b 1f mov (%rdi),%rbx
2274: eb 28 jmp 229e <mptsas_ioc_reset+0x83>
It does point to the line you mentioned.
Thanks,
Judith
>
> 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
> >
> >
> >
----- End forwarded message -----
_______________________________________________
fastboot mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/fastboot