From: Ilgu Hong Date: Fri, 30 Jan 2009 23:00:11 +0000 (-0600) Subject: [SCSI] scsi dh alua: handle report luns data changed in check sense callout X-Git-Tag: v2.6.30-rc1~641^2~75 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=4d086f6baf73c02d12482c27c9f1e0682825ca13;p=karo-tx-linux.git [SCSI] scsi dh alua: handle report luns data changed in check sense callout When we switch controllers the Intel Multi-Flex reports REPORTED_LUNS_DATA_HAS_CHANGED. This patch just has us retry the command. Signed-off-by: Ilgu Hong Signed-off-by: Mike Christie Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c index 31e1df5c366b..dba154c8ff64 100644 --- a/drivers/scsi/device_handler/scsi_dh_alua.c +++ b/drivers/scsi/device_handler/scsi_dh_alua.c @@ -461,6 +461,15 @@ static int alua_check_sense(struct scsi_device *sdev, */ return ADD_TO_MLQUEUE; } + if (sense_hdr->asc == 0x3f && sense_hdr->ascq == 0x0e) { + /* + * REPORTED_LUNS_DATA_HAS_CHANGED is reported + * when switching controllers on targets like + * Intel Multi-Flex. We can just retry. + */ + return ADD_TO_MLQUEUE; + } + break; }