Commit 54309fd
mmc: block: fix read single on recovery logic
On reads with MMC_READ_MULTIPLE_BLOCK that fail,
the recovery handler will use MMC_READ_SINGLE_BLOCK for
each of the blocks, up to MMC_READ_SINGLE_RETRIES times each.
The logic for this is fixed to never report unsuccessful reads
as success to the block layer.
On command error with retries remaining, blk_update_request was
called with whatever value error was set last to.
In case it was last set to BLK_STS_OK (default), the read will be
reported as success, even though there was no data read from the device.
This could happen on a CRC mismatch for the response,
a card rejecting the command (e.g. again due to a CRC mismatch).
In case it was last set to BLK_STS_IOERR, the error is reported correctly,
but no retries will be attempted.
Fixes: 8119697 ("mmc: block: Add blk-mq support")
Cc: stable@vger.kernel.org
Signed-off-by: Christian Loehle <cloehle@hyperstone.com>
Reviewed-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/bc706a6ab08c4fe2834ba0c05a804672@hyperstone.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>1 parent bd2db32 commit 54309fd
1 file changed
Lines changed: 14 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1682 | 1682 | | |
1683 | 1683 | | |
1684 | 1684 | | |
1685 | | - | |
1686 | 1685 | | |
1687 | 1686 | | |
1688 | 1687 | | |
1689 | 1688 | | |
| 1689 | + | |
1690 | 1690 | | |
1691 | | - | |
| 1691 | + | |
| 1692 | + | |
1692 | 1693 | | |
1693 | | - | |
| 1694 | + | |
1694 | 1695 | | |
1695 | | - | |
1696 | | - | |
1697 | | - | |
1698 | | - | |
1699 | | - | |
1700 | | - | |
1701 | | - | |
| 1696 | + | |
1702 | 1697 | | |
1703 | 1698 | | |
1704 | | - | |
1705 | 1699 | | |
1706 | | - | |
1707 | | - | |
| 1700 | + | |
| 1701 | + | |
| 1702 | + | |
| 1703 | + | |
| 1704 | + | |
| 1705 | + | |
1708 | 1706 | | |
1709 | | - | |
| 1707 | + | |
| 1708 | + | |
| 1709 | + | |
1710 | 1710 | | |
1711 | 1711 | | |
1712 | 1712 | | |
| |||
0 commit comments