]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
nvme: precedence bug in nvme_pr_clear()
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 9 Dec 2015 10:24:06 +0000 (13:24 +0300)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 1 Jun 2017 20:40:42 +0000 (13:40 -0700)
The "|" operator has higher precedence than "?:" so this didn't work as
intended.  I had previously fixed this bug, but it we copied the older
unfixed version when we moved the function between files.

Fixes: 1673f1f08c88 ('nvme: move block_device_operations and ns/ctrl freeing to common code')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
(cherry picked from commit 8c0b39155048d5a24f25c6c60aa83729927b04cd)

Orabug: 25130845

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

index c634f8d0921129e75dd4b6300c1e849ce4bfe15c..1ac5f7a1409c72c3b30d7086474e5da8f6ba87f2 100644 (file)
@@ -631,7 +631,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);
 }