diff options
author | Stewart, Sean <Sean.Stewart@netapp.com> | 2013-10-15 11:52:39 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2013-10-25 06:14:18 -0400 |
commit | c20ee7b56e0a1937b41919813e5a98373ca48ae8 (patch) | |
tree | 4d5225e9ff6f83c50e3214628a5243bbf9d4a7ef /drivers/scsi/device_handler | |
parent | 0f3c7b99f33f7a9c743a752bba2414615c48e270 (diff) |
[SCSI] scsi_dh_alua: ALUA check sense should retry device internal reset unit attention
When the scsi_dh_alua handler issues an RTPG during initialization, if it gets
0x06/0x29/0x04 as the sense, it will fail to attach the handler. NetApp
E-Series returns 0x29/0x00 for power on, and 0x29/0x04 for conditions that
cause the controller to reboot again. These conditions should be treated
identically within the handler.
Signed-off-by: Sean Stewart <Sean.Stewart@netapp.com>
Acked-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/device_handler')
-rw-r--r-- | drivers/scsi/device_handler/scsi_dh_alua.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c index 68adb8955d2d..78205cc2059c 100644 --- a/drivers/scsi/device_handler/scsi_dh_alua.c +++ b/drivers/scsi/device_handler/scsi_dh_alua.c | |||
@@ -481,6 +481,11 @@ static int alua_check_sense(struct scsi_device *sdev, | |||
481 | * Power On, Reset, or Bus Device Reset, just retry. | 481 | * Power On, Reset, or Bus Device Reset, just retry. |
482 | */ | 482 | */ |
483 | return ADD_TO_MLQUEUE; | 483 | return ADD_TO_MLQUEUE; |
484 | if (sense_hdr->asc == 0x29 && sense_hdr->ascq == 0x04) | ||
485 | /* | ||
486 | * Device internal reset | ||
487 | */ | ||
488 | return ADD_TO_MLQUEUE; | ||
484 | if (sense_hdr->asc == 0x2a && sense_hdr->ascq == 0x01) | 489 | if (sense_hdr->asc == 0x2a && sense_hdr->ascq == 0x01) |
485 | /* | 490 | /* |
486 | * Mode Parameters Changed | 491 | * Mode Parameters Changed |