diff options
| author | Christoph Hellwig <[email protected]> | 2018-05-29 13:52:35 +0000 |
|---|---|---|
| committer | Jens Axboe <[email protected]> | 2018-05-29 14:59:21 +0000 |
| commit | ad73d6feadbd7b000e2c06480ac4fa05e7c05fb9 (patch) | |
| tree | 315b5112ba46cdff2df60b13fa3761cb5f5480dc /drivers/mmc/core/queue.c | |
| parent | scsi_transport_fc: complete requests from ->timeout (diff) | |
| download | kernel-ad73d6feadbd7b000e2c06480ac4fa05e7c05fb9.tar.gz kernel-ad73d6feadbd7b000e2c06480ac4fa05e7c05fb9.zip | |
mmc: 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.
[While this keeps existing behavior it seems to mismatch the comment,
maintainers please chime in!]
Signed-off-by: Christoph Hellwig <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'drivers/mmc/core/queue.c')
| -rw-r--r-- | drivers/mmc/core/queue.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/mmc/core/queue.c b/drivers/mmc/core/queue.c index 56e9a803db21..648eb6743ed5 100644 --- a/drivers/mmc/core/queue.c +++ b/drivers/mmc/core/queue.c @@ -111,8 +111,9 @@ static enum blk_eh_timer_return mmc_cqe_timed_out(struct request *req) __mmc_cqe_recovery_notifier(mq); return BLK_EH_RESET_TIMER; } - /* No timeout */ - return BLK_EH_HANDLED; + /* No timeout (XXX: huh? comment doesn't make much sense) */ + blk_mq_complete_request(req); + return BLK_EH_DONE; default: /* Timeout is handled by mmc core */ return BLK_EH_RESET_TIMER; |
