]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
mpt2sas: Kernel Panic during Large Topology discovery
authorKashyap, Desai <kashyap.desai@lsi.com>
Tue, 4 Jan 2011 06:08:39 +0000 (11:38 +0530)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 17 Feb 2011 22:46:57 +0000 (14:46 -0800)
commit225a7fe7319165735cd10d27c89739e8d8aecab1
tree28125286728626261db33c66d8470769cb1e4ff0
parenta3919fdea2ca0e0c92f724374b1971a7ab6e38da
mpt2sas: Kernel Panic during Large Topology discovery

commit 4224489f45b503f0a1f1cf310f76dc108f45689a upstream.

There was a configuration page timing out during the initial port
enable at driver load time. The port enable would fail, and this would
result in the driver unloading itself, meanwhile the driver was accessing
freed memory in another context resulting in the panic.  The fix is to
prevent access to freed memory once the driver had issued the diag reset
which woke up the sleeping port enable process.  The routine
_base_reset_handler was reorganized so the last sleeping process woken up was
the port_enable.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/scsi/mpt2sas/mpt2sas_base.c