mpt2sas: Delete volume before HBA detach.
authorKashyap, Desai <kashyap.desai@lsi.com>
Wed, 16 Dec 2009 13:20:06 +0000 (18:50 +0530)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 15 Mar 2010 15:49:36 +0000 (08:49 -0700)
commit7c0f2aedfa71f7f48c780b11eef1322ff4b9d40f
tree02d505936bc98c4b16c22020e60bacb7c60edf84
parentcc03dfc07cc4acf73b721ca9a57c6d4d2101ae49
mpt2sas: Delete volume before HBA detach.

commit d7384b28afb2bf2b7be835ddc8c852bdc5e0ce1c upstream.

The driver hangs when doing `rmmod mpt2sas` if there are any
IR volumes present.The hang is due the scsi midlayer trying to access the
IR volumes after the driver releases controller resources.  Perhaps when
scsi_remove_host is called,the scsi mid layer is sending some request.
This doesn't occur for bare drives becuase the driver is already reporting
those drives deleted prior to calling mpt2sas_base_detach.
To solve this issue, we need to delete the volumes as well.

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