These custom handling are no longer necessary, since we always retry UA
in scsi_execute now.

Signed-off-by: Gabriel Krisman Bertazi <kris...@linux.vnet.ibm.com>
---
 drivers/scsi/scsi_lib.c | 21 ++++++---------------
 drivers/scsi/sr_ioctl.c |  6 ++----
 2 files changed, 8 insertions(+), 19 deletions(-)

diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 9c6623abf120..e9324a224b11 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -2317,7 +2317,7 @@ scsi_mode_sense(struct scsi_device *sdev, int dbd, int 
modepage,
        unsigned char cmd[12];
        int use_10_for_ms;
        int header_length;
-       int result, retry_count = retries;
+       int result;
        struct scsi_sense_hdr my_sshdr;
 
        memset(data, 0, sizeof(*data));
@@ -2396,11 +2396,6 @@ scsi_mode_sense(struct scsi_device *sdev, int dbd, int 
modepage,
                        data->block_descriptor_length = buffer[3];
                }
                data->header_length = header_length;
-       } else if ((status_byte(result) == CHECK_CONDITION) &&
-                  scsi_sense_valid(sshdr) &&
-                  sshdr->sense_key == UNIT_ATTENTION && retry_count) {
-               retry_count--;
-               goto retry;
        }
 
        return result;
@@ -2434,15 +2429,11 @@ scsi_test_unit_ready(struct scsi_device *sdev, int 
timeout, int retries,
        else
                sshdr = sshdr_external;
 
-       /* try to eat the UNIT_ATTENTION if there are enough retries */
-       do {
-               result = scsi_execute_req(sdev, cmd, DMA_NONE, NULL, 0, sshdr,
-                                         timeout, retries, NULL);
-               if (sdev->removable && scsi_sense_valid(sshdr) &&
-                   sshdr->sense_key == UNIT_ATTENTION)
-                       sdev->changed = 1;
-       } while (scsi_sense_valid(sshdr) &&
-                sshdr->sense_key == UNIT_ATTENTION && --retries);
+       result = scsi_execute_req(sdev, cmd, DMA_NONE, NULL, 0, sshdr,
+                                 timeout, retries, NULL);
+       if (sdev->removable && scsi_sense_valid(sshdr) &&
+           sshdr->sense_key == UNIT_ATTENTION)
+               sdev->changed = 1;
 
        if (!sshdr_external)
                kfree(sshdr);
diff --git a/drivers/scsi/sr_ioctl.c b/drivers/scsi/sr_ioctl.c
index 03054c0e7689..93b5544a5966 100644
--- a/drivers/scsi/sr_ioctl.c
+++ b/drivers/scsi/sr_ioctl.c
@@ -179,8 +179,8 @@ static int sr_play_trkind(struct cdrom_device_info *cdi,
 }
 
 /* We do our own retries because we want to know what the specific
-   error code is.  Normally the UNIT_ATTENTION code will automatically
-   clear after one error */
+   error code is.
+*/
 
 int sr_do_ioctl(Scsi_CD *cd, struct packet_command *cgc)
 {
@@ -220,8 +220,6 @@ int sr_do_ioctl(Scsi_CD *cd, struct packet_command *cgc)
                        if (!cgc->quiet)
                                sr_printk(KERN_INFO, cd,
                                          "disc change detected.\n");
-                       if (retries++ < 10)
-                               goto retry;
                        err = -ENOMEDIUM;
                        break;
                case NOT_READY: /* This happens if there is no disc in drive */
-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to