The mmc block driver does not support parallel dispatch of requests. In
normal circumstances, all requests are anyway funneled through a single
work item, so parallel dispatch never happens. However it can happen if
there is no elevator.
Fix that by detecting if a dispatch is in progress and returning busy
(BLK_STS_RESOURCE) in that case
Fixes: 81196976ed94 ("mmc: block: Add blk-mq support")
Cc: stable@vger.kernel.org # v4.16+
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
|
||
|---|---|---|
| .. | ||
| block.c | ||
| block.h | ||
| bus.c | ||
| bus.h | ||
| card.h | ||
| core.c | ||
| core.h | ||
| debugfs.c | ||
| host.c | ||
| host.h | ||
| Kconfig | ||
| Makefile | ||
| mmc_ops.c | ||
| mmc_ops.h | ||
| mmc_test.c | ||
| mmc.c | ||
| pwrseq_emmc.c | ||
| pwrseq_sd8787.c | ||
| pwrseq_simple.c | ||
| pwrseq.c | ||
| pwrseq.h | ||
| queue.c | ||
| queue.h | ||
| quirks.h | ||
| sd_ops.c | ||
| sd_ops.h | ||
| sd.c | ||
| sd.h | ||
| sdio_bus.c | ||
| sdio_bus.h | ||
| sdio_cis.c | ||
| sdio_cis.h | ||
| sdio_io.c | ||
| sdio_irq.c | ||
| sdio_ops.c | ||
| sdio_ops.h | ||
| sdio_uart.c | ||
| sdio.c | ||
| slot-gpio.c | ||
| slot-gpio.h | ||