[SCSI] mpt3sas: fix for kernel panic when driver loads with HBA conected to non LUN...
authorSreekanth Reddy <Sreekanth.Reddy@lsi.com>
Fri, 28 Jun 2013 22:22:03 +0000 (03:52 +0530)
committerJames Bottomley <JBottomley@Parallels.com>
Tue, 9 Jul 2013 07:43:55 +0000 (08:43 +0100)
commitb65cfedf4560af65305bd7b3b9f26c02c6fb3660
treec076753a24f1e961e492f3d70ec4a548f56c2d22
parentb453ff84de6caf3ad3a988da8444c13b71e3f507
[SCSI] mpt3sas: fix for kernel panic when driver loads with HBA conected 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>
Cc: stable@vger.kernel.org
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/mpt3sas/mpt3sas_scsih.c