summaryrefslogtreecommitdiffstats
path: root/drivers/nvme
diff options
context:
space:
mode:
authorMatias Bjørling <matias@cnexlabs.com>2017-01-31 13:17:17 +0100
committerJens Axboe <axboe@fb.com>2017-01-31 16:32:13 +0100
commit06894efea706b3cd4ce31e341ec51b4c62c34a86 (patch)
treed17b75b474e6b65fcc81cab7846a6cf9c67f8496 /drivers/nvme
parentlightnvm: add ioctls for vector I/Os (diff)
downloadlinux-06894efea706b3cd4ce31e341ec51b4c62c34a86.tar.xz
linux-06894efea706b3cd4ce31e341ec51b4c62c34a86.zip
lightnvm: use end_io callback instead of instance
When the lightnvm core had the "gennvm" layer between the device and the target, there was a need for the core to be able to figure out which target it should send an end_io callback to. Leading to a "double" end_io, first for the media manager instance, and then for the target instance. Now that core and gennvm is merged, there is no longer a need for this, and a single end_io callback will do. Signed-off-by: Matias Bjørling <matias@cnexlabs.com> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/nvme')
-rw-r--r--drivers/nvme/host/lightnvm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/nvme/host/lightnvm.c b/drivers/nvme/host/lightnvm.c
index 3b6cd9bdba7e..21cac8523bd8 100644
--- a/drivers/nvme/host/lightnvm.c
+++ b/drivers/nvme/host/lightnvm.c
@@ -484,7 +484,8 @@ static void nvme_nvm_end_io(struct request *rq, int error)
struct nvm_rq *rqd = rq->end_io_data;
rqd->ppa_status = nvme_req(rq)->result.u64;
- nvm_end_io(rqd, error);
+ rqd->error = error;
+ nvm_end_io(rqd);
kfree(nvme_req(rq)->cmd);
blk_mq_free_request(rq);