[SCSI] mpt2sas: Fix for kernel panic when driver loads with HBA connected to non...
authorSreekanth Reddy <Sreekanth.Reddy@lsi.com>
Thu, 25 Jul 2013 06:02:51 +0000 (11:32 +0530)
committerJames Bottomley <JBottomley@Parallels.com>
Tue, 3 Sep 2013 14:27:52 +0000 (07:27 -0700)
commit63e359d42119d803912e5f24dc1c56d168acedeb
treead02de29e3ed8f45235dfc5df2da298207b3bc0f
parentbc6d4c3b78d1320606f99905e2a9fa86b246b449
[SCSI] mpt2sas: Fix for kernel panic when driver loads with HBA connected to non LUN 0 configured expander

With some enclosures when LUN 0 is not created but LUN 1 or LUN X is created
then SCSI scan procedure calls target_alloc, slave_alloc call back functions
for LUN 0 and slave_destory() for same LUN 0.

In these kind of cases within slave_destroy, pointer to scsi_target in
_sas_device structure is set to NULL, following which when slave_alloc for
LUN 1 is called then starget would not be set properly for this LUN.
So, scsi_target pointer pointing to NULL value would lead to a crash later
in the discovery procedure.

To solve this issue set the sas_device's scsi_target pointer to scsi_device's
scsi_target if it is NULL earlier in slave_alloc callback function.

Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@lsi.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/mpt2sas/mpt2sas_scsih.c