scsi: ses: Fix wrong page error
authorBrian King <brking@linux.vnet.ibm.com>
Tue, 1 Aug 2017 18:45:36 +0000 (13:45 -0500)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 8 Aug 2017 15:49:52 +0000 (11:49 -0400)
If a SES device returns an error on a requested diagnostic page, we are
currently printing an error indicating the wrong page was received. Fix
this up to simply return a failure and only check the returned page when
the diagnostic page buffer was populated by the device.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ses.c

index f1cdf32d7514120b31515ddf2901960d4f766694..8927f9f54ad926f5b50439e23685a35b24c50edf 100644 (file)
@@ -99,7 +99,7 @@ static int ses_recv_diag(struct scsi_device *sdev, int page_code,
 
        ret =  scsi_execute_req(sdev, cmd, DMA_FROM_DEVICE, buf, bufflen,
                                NULL, SES_TIMEOUT, SES_RETRIES, NULL);
-       if (unlikely(!ret))
+       if (unlikely(ret))
                return ret;
 
        recv_page_code = ((unsigned char *)buf)[0];