[SCSI] scsi_dh_rdac: Retry for Quiescence in Progress in rdac device handler
authorChauhan, Vijay <Vijay.Chauhan@lsi.com>
Mon, 26 Jan 2009 15:59:37 +0000 (21:29 +0530)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Thu, 12 Mar 2009 17:58:12 +0000 (12:58 -0500)
During device discovery read capacity fails with 0x068b02 and sets the
device size to 0. As a reason any I/O submitted to this path gets
killed at sd_prep_fn with BLKPREP_KILL. This patch is to retry for
0x068b02

Signed-off-by: Vijay Chauhan <vijay.chauhan@lsi.com>
Acked-by: Chandra Seetharaman <sekharan@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/device_handler/scsi_dh_rdac.c

index 53664765570ab2d34245b6b0b4d4f689bfa08a11..f2b9d197e80a459e890410c8b1c071abcc6e693c 100644 (file)
@@ -579,6 +579,11 @@ static int rdac_check_sense(struct scsi_device *sdev,
                         * Power On, Reset, or Bus Device Reset, just retry.
                         */
                        return ADD_TO_MLQUEUE;
+               if (sense_hdr->asc == 0x8b && sense_hdr->ascq == 0x02)
+                       /*
+                        * Quiescence in progress , just retry.
+                        */
+                       return ADD_TO_MLQUEUE;
                break;
        }
        /* success just means we do not care what scsi-ml does */