[SCSI] mptsas: Fix oops for insmod during kexec
authorJudith Lebzelter <judith@linux-foundation.org>
Fri, 9 Mar 2007 21:07:44 +0000 (13:07 -0800)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Sun, 11 Mar 2007 15:44:16 +0000 (10:44 -0500)
commitba76ef246090601b783c1e6190e22b8b149a105f
tree9d9b6177cbe919a0400e804b972ea7db55e242e7
parent5daa49ef05c44ce94bed0bab0f9ba4a9e952863b
[SCSI] mptsas: Fix oops for insmod during kexec

This fix's an oops during driver load time.   mptsas_probe calls
mpt_attach(over in mptbase.c).  Inside that call, we read some
manufacturing config pages to setup some defaults.  While reading the
config pages, the firmware doesn't complete the reply in time, and we
have a timeout. The timeout results in hardreset handler being called.
The hardreset handler calls all the fusion upper layer driver reset
callback handlers.  The mptsas_ioc_reset function is the callback
handler in mptsas.c.   So where I'm getting to, is mptsas_ioc_reset is
getting called before scsi_host_alloc is called, and the pointer ioc->sh
is NULL as well as the hostdata.

Signed-off-by: Judith Lebzelter <judith@osdl.org>
Acked-by: "Moore, Eric" <Eric.Moore@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/message/fusion/mptsas.c