]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
NVMe: Precedence error in nvme_pr_clear()
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 19 Dec 2016 02:45:55 +0000 (18:45 -0800)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 1 Jun 2017 20:40:32 +0000 (13:40 -0700)
The original code is equivalent to:

        u32 cdw10 = (1 | key) ? 1 << 3 : 0;

But we want:

        u32 cdw10 = 1 | (key ? 1 << 3 : 0);

Fixes: 1d277a637a71: ('NVMe: Add persistent reservation ops')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
(cherry picked from commit 73fcf4e20ebd19468b3ad033be93582258435462)

Orabug: 25130845
Signed-off-by: Ashok Vairavan <ashok.vairavan@oracle.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/nvme/host/pci.c

index cc76dc091d0d325f3e1b5d0f7eb285a237dda2f8..1c4dbfa8f7fbd096c5dc3aa341937e889d58682a 100644 (file)
@@ -2136,7 +2136,7 @@ static int nvme_pr_preempt(struct block_device *bdev, u64 old, u64 new,
 
 static int nvme_pr_clear(struct block_device *bdev, u64 key)
 {
-       u32 cdw10 = 1 | key ? 1 << 3 : 0;
+       u32 cdw10 = 1 | (key ? 1 << 3 : 0);
        return nvme_pr_command(bdev, cdw10, key, 0, nvme_cmd_resv_register);
 }