NVMe: Precedence error in nvme_pr_clear()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 3 Nov 2015 19:50:49 +0000 (22:50 +0300)
committerJens Axboe <axboe@fb.com>
Tue, 3 Nov 2015 19:59:03 +0000 (12:59 -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>
drivers/nvme/host/pci.c

index 17524fd3e95f80dab8e11ab3b38ae9e4334eb4bb..9a12d5a325551b6e1217bf788fc640e3bd2b8918 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);
 }