scsi: ufs: Fix unsigned int compared with less than zero
authorColin Ian King <colin.king@canonical.com>
Fri, 6 Aug 2021 14:43:01 +0000 (15:43 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 10 Aug 2021 03:14:52 +0000 (23:14 -0400)
Variable 'tag' is currently an unsigned int and is being compared to less
than zero, this check is always false. Fix this by making 'tag' an int.

Link: https://lore.kernel.org/r/20210806144301.19864-1-colin.king@canonical.com
Fixes: 4728ab4a8e64 ("scsi: ufs: Remove ufshcd_valid_tag()")
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Addresses-Coverity: ("Macro compares unsigned to 0")

drivers/scsi/ufs/ufshcd.c

index 6c263e94144b7591683ea1795b069238fdc2592e..38cf516b0c6d14058c927c770996cd971c5e70c4 100644 (file)
@@ -6974,7 +6974,7 @@ static int ufshcd_abort(struct scsi_cmnd *cmd)
 {
        struct Scsi_Host *host = cmd->device->host;
        struct ufs_hba *hba = shost_priv(host);
-       unsigned int tag = cmd->request->tag;
+       int tag = cmd->request->tag;
        struct ufshcd_lrb *lrbp = &hba->lrb[tag];
        unsigned long flags;
        int err = FAILED;