From: Damien Le Moal <damien.lem...@wdc.com>

The 'sense_deferred' variable in sd_done() is set only if
'sense_valid' is true. So it is not necessary and the result of
scsi_sense_is_deferred() and of scsi_command_normalize_sense() can
be combined together in 'sense_valid'.

Also, since scsi_command_normalize_sense() returns a bool, use that
type for 'sense_valid' declaration.

No functional change is introduced by this patch.

Signed-off-by: Damien Le Moal <damien.lem...@wdc.com>
---
 drivers/scsi/sd.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 935ce34..c57084e 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -1808,8 +1808,7 @@ static int sd_done(struct scsi_cmnd *SCpnt)
        struct scsi_sense_hdr sshdr;
        struct scsi_disk *sdkp = scsi_disk(SCpnt->request->rq_disk);
        struct request *req = SCpnt->request;
-       int sense_valid = 0;
-       int sense_deferred = 0;
+       bool sense_valid = false;
        unsigned char op = SCpnt->cmnd[0];
        unsigned char unmap = SCpnt->cmnd[1] & 8;
 
@@ -1837,15 +1836,12 @@ static int sd_done(struct scsi_cmnd *SCpnt)
                break;
        }
 
-       if (result) {
-               sense_valid = scsi_command_normalize_sense(SCpnt, &sshdr);
-               if (sense_valid)
-                       sense_deferred = scsi_sense_is_deferred(&sshdr);
-       }
+       if (result)
+               sense_valid = scsi_command_normalize_sense(SCpnt, &sshdr) &&
+                       !scsi_sense_is_deferred(&sshdr);
        sdkp->medium_access_timed_out = 0;
 
-       if (driver_byte(result) != DRIVER_SENSE &&
-           (!sense_valid || sense_deferred))
+       if (driver_byte(result) != DRIVER_SENSE && !sense_valid)
                goto out;
 
        switch (sshdr.sense_key) {
-- 
2.9.3

Reply via email to