]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/block/mtip32xx/mtip32xx.c
Merge branch 'for-3.18/drivers' of git://git.kernel.dk/linux-block
[karo-tx-linux.git] / drivers / block / mtip32xx / mtip32xx.c
index 936f8c160e4630fff48252b6aae8299341ca604e..1bd5f523f8fdac6bd452281ae4dc33f105d33055 100644 (file)
@@ -247,7 +247,7 @@ static void mtip_async_complete(struct mtip_port *port,
        if (unlikely(cmd->unaligned))
                up(&port->cmd_slot_unal);
 
-       blk_mq_end_io(rq, status ? -EIO : 0);
+       blk_mq_end_request(rq, status ? -EIO : 0);
 }
 
 /*
@@ -3739,7 +3739,7 @@ static int mtip_submit_request(struct blk_mq_hw_ctx *hctx, struct request *rq)
                int err;
 
                err = mtip_send_trim(dd, blk_rq_pos(rq), blk_rq_sectors(rq));
-               blk_mq_end_io(rq, err);
+               blk_mq_end_request(rq, err);
                return 0;
        }
 
@@ -3775,13 +3775,16 @@ static bool mtip_check_unal_depth(struct blk_mq_hw_ctx *hctx,
        return false;
 }
 
-static int mtip_queue_rq(struct blk_mq_hw_ctx *hctx, struct request *rq)
+static int mtip_queue_rq(struct blk_mq_hw_ctx *hctx, struct request *rq,
+               bool last)
 {
        int ret;
 
        if (unlikely(mtip_check_unal_depth(hctx, rq)))
                return BLK_MQ_RQ_QUEUE_BUSY;
 
+       blk_mq_start_request(rq);
+
        ret = mtip_submit_request(hctx, rq);
        if (likely(!ret))
                return BLK_MQ_RQ_QUEUE_OK;
@@ -3918,7 +3921,6 @@ skip_create_disk:
        if (rv) {
                dev_err(&dd->pdev->dev,
                        "Unable to allocate request queue\n");
-               rv = -ENOMEM;
                goto block_queue_alloc_init_error;
        }