![]() We must unregister from SCSI before we unmap device resources and unhook the IRQ handler. Otherwise, SCSI may send us more requests, and we won't be able to handle them. I see the following oops during every reboot of my HP DL360: ... Unmounting local filesystems...done. Rebooting... Completed flushing cache on controller 0 BUG: unable to handle kernel paging request at virtual address f8808040 printing eip: c02dc72b *pde = 02120067 *pte = 00000000 Oops: 0002 [#1] SMP Modules linked in: CPU: 1 EIP: 0060:[<c02dc72b>] Not tainted VLI EFLAGS: 00010046 (2.6.21-rc6 #1) EIP is at SA5_submit_command+0xb/0x20 eax: f8808000 ebx: f7a00000 ecx: f79f0000 edx: 37a00000 esi: f79f0000 edi: 00000000 ebp: 00000000 esp: dd717a44 ds: 007b es: 007b fs: 00d8 gs: 0000 ss: 0068 Process khelper (pid: 1427, ti=dd716000 task=c2260a70 task.ti=dd716000) Stack: c02df2c0 f7a00000 f7a00000 00d41008 c02df691 00000000 00000010 00000002 00000001 f79f0000 f7fff844 c1398420 00000000 00000000 00001000 230a3020 69666564 5420656e 50434f49 465f544b 4853554c 44414552 0a312009 66656423 Call Trace: [<c02df2c0>] start_io+0x80/0x120 [<c02df691>] do_cciss_request+0x331/0x350 [<c014242a>] mempool_alloc+0x2a/0xe0 [<c020ad71>] blk_alloc_request+0x61/0x80 [<c020b02e>] get_request+0x15e/0x1e0 [<c01595e0>] cache_alloc_refill+0xb0/0x1e0 [<c021049d>] as_update_rq+0x2d/0x80 [<c0210d28>] as_add_request+0x68/0x90 [<c0207f99>] elv_insert+0x119/0x160 [<c020bd0b>] __make_request+0xcb/0x320 [<c0122ee0>] lock_timer_base+0x20/0x50 [<c0123096>] del_timer+0x56/0x60 [<c020a7b8>] blk_remove_plug+0x38/0x70 [<c020a815>] __generic_unplug_device+0x25/0x30 [<c020a835>] generic_unplug_device+0x15/0x30 ... Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Acked-by: Mike Miller <mike.miller@hp.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
aoe | ||
paride | ||
DAC960.c | ||
DAC960.h | ||
Kconfig | ||
Makefile | ||
acsi.c | ||
acsi_slm.c | ||
amiflop.c | ||
ataflop.c | ||
cciss.c | ||
cciss.h | ||
cciss_cmd.h | ||
cciss_scsi.c | ||
cciss_scsi.h | ||
cpqarray.c | ||
cpqarray.h | ||
cryptoloop.c | ||
floppy.c | ||
ida_cmd.h | ||
ida_ioctl.h | ||
loop.c | ||
nbd.c | ||
pktcdvd.c | ||
ps2esdi.c | ||
rd.c | ||
smart1,2.h | ||
swim3.c | ||
sx8.c | ||
ub.c | ||
umem.c | ||
viodasd.c | ||
xd.c | ||
xd.h | ||
z2ram.c |