From: Christoph Hellwig Date: Tue, 29 May 2018 13:52:34 +0000 (+0200) Subject: scsi_transport_fc: complete requests from ->timeout X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=1fc2b62edb228b37c2b4e7e5192becaecd72183f;p=linux.git scsi_transport_fc: complete requests from ->timeout 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 Reviewed-by: Hannes Reinecke Reviewed-by: Johannes Thumshirn Signed-off-by: Jens Axboe --- diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c index 90075a0ddcfe3..7a9a65588a1bc 100644 --- a/drivers/scsi/scsi_transport_fc.c +++ b/drivers/scsi/scsi_transport_fc.c @@ -3591,10 +3591,9 @@ fc_bsg_job_timeout(struct request *req) } /* the blk_end_sync_io() doesn't check the error */ - if (!inflight) - return BLK_EH_DONE; - else - return BLK_EH_HANDLED; + if (inflight) + blk_mq_complete_request(req); + return BLK_EH_DONE; } /**