]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commitdiff
mtip32xx: complete requests from ->timeout
authorChristoph Hellwig <hch@lst.de>
Tue, 29 May 2018 13:52:32 +0000 (15:52 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 29 May 2018 14:59:21 +0000 (08:59 -0600)
By completing the request entirely in the driver we can remove the
BLK_EH_HANDLED return value and thus the split responsibility between the
driver and the block layer that has been causing trouble.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/mtip32xx/mtip32xx.c

index e873daca9d13a6eaada0a4c75b905c13bf21f268..95657b81454360b955e3ca2313713c31d1d4228f 100644 (file)
@@ -3719,7 +3719,8 @@ static enum blk_eh_timer_return mtip_cmd_timeout(struct request *req,
                struct mtip_cmd *cmd = blk_mq_rq_to_pdu(req);
 
                cmd->status = BLK_STS_TIMEOUT;
-               return BLK_EH_HANDLED;
+               blk_mq_complete_request(req);
+               return BLK_EH_DONE;
        }
 
        if (test_bit(req->tag, dd->port->cmds_to_issue))