Merge tag 'block-6.0-2022-09-29' of git://git.kernel.dk/linux
[linux-block.git] / drivers / nvme / host / core.c
index 66446f1e06cf23ea95f946e98f1347269e4eb40f..8d5a7ae198440048f66c53bc4f624f75402c5230 100644 (file)
@@ -2162,14 +2162,14 @@ 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 ? 0 : 1 << 3);
 
-       return nvme_pr_command(bdev, cdw10, key, 0, nvme_cmd_resv_register);
+       return nvme_pr_command(bdev, cdw10, key, 0, nvme_cmd_resv_release);
 }
 
 static int nvme_pr_release(struct block_device *bdev, u64 key, enum pr_type type)
 {
-       u32 cdw10 = nvme_pr_type(type) << 8 | (key ? 1 << 3 : 0);
+       u32 cdw10 = nvme_pr_type(type) << 8 | (key ? 0 : 1 << 3);
 
        return nvme_pr_command(bdev, cdw10, key, 0, nvme_cmd_resv_release);
 }