[SCSI] scsi_dh_alua: Add one more check-condition for alua handler

This patch adds one more check-condition for scsi_dh_alua handler. Without
this, the handler attach fails sometimes during the discovery. I have noticed
this with NetApp E-Series storage with alua mode. Also removed some
unnecessary brackets {} for consistency.

Signed-off-by: Babu Moger <babu.moger@netapp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
Moger, Babu 2011-10-06 13:22:07 -04:00 committed by James Bottomley
parent 14ed9cc7e7
commit bf81973a5d

View file

@ -465,27 +465,28 @@ static int alua_check_sense(struct scsi_device *sdev,
* Power On, Reset, or Bus Device Reset, just retry. * Power On, Reset, or Bus Device Reset, just retry.
*/ */
return ADD_TO_MLQUEUE; return ADD_TO_MLQUEUE;
if (sense_hdr->asc == 0x2a && sense_hdr->ascq == 0x06) { if (sense_hdr->asc == 0x2a && sense_hdr->ascq == 0x06)
/* /*
* ALUA state changed * ALUA state changed
*/ */
return ADD_TO_MLQUEUE; return ADD_TO_MLQUEUE;
} if (sense_hdr->asc == 0x2a && sense_hdr->ascq == 0x07)
if (sense_hdr->asc == 0x2a && sense_hdr->ascq == 0x07) {
/* /*
* Implicit ALUA state transition failed * Implicit ALUA state transition failed
*/ */
return ADD_TO_MLQUEUE; return ADD_TO_MLQUEUE;
} if (sense_hdr->asc == 0x3f && sense_hdr->ascq == 0x03)
if (sense_hdr->asc == 0x3f && sense_hdr->ascq == 0x0e) { /*
* Inquiry data has changed
*/
return ADD_TO_MLQUEUE;
if (sense_hdr->asc == 0x3f && sense_hdr->ascq == 0x0e)
/* /*
* REPORTED_LUNS_DATA_HAS_CHANGED is reported * REPORTED_LUNS_DATA_HAS_CHANGED is reported
* when switching controllers on targets like * when switching controllers on targets like
* Intel Multi-Flex. We can just retry. * Intel Multi-Flex. We can just retry.
*/ */
return ADD_TO_MLQUEUE; return ADD_TO_MLQUEUE;
}
break; break;
} }