In case spi_sync_locked fails, the fix reports the error and
returns the error code upstream.
Signed-off-by: Kangjie Lu <[email protected]>
---
drivers/mmc/host/mmc_spi.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/mmc/host/mmc_spi.c b/drivers/mmc/host/mmc_spi.c
index 1b1498805972..32fea585262b 100644
--- a/drivers/mmc/host/mmc_spi.c
+++ b/drivers/mmc/host/mmc_spi.c
@@ -819,6 +819,10 @@ mmc_spi_readblock(struct mmc_spi_host *host, struct spi_transfer *t,
}
status = spi_sync_locked(spi, &host->m);
+ if (status < 0) {
+ dev_dbg(&spi->dev, "read error %02x (%d)\n", status, status);
+ return status;
+ }
if (host->dma_dev) {
dma_sync_single_for_cpu(host->dma_dev,
--
2.17.1
Hi Kangjie,
Thank you for the patch.
On Sun, Mar 10, 2019 at 01:53:05AM -0600, Kangjie Lu wrote:
> In case spi_sync_locked fails, the fix reports the error and
> returns the error code upstream.
>
> Signed-off-by: Kangjie Lu <[email protected]>
> ---
> drivers/mmc/host/mmc_spi.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/mmc/host/mmc_spi.c b/drivers/mmc/host/mmc_spi.c
> index 1b1498805972..32fea585262b 100644
> --- a/drivers/mmc/host/mmc_spi.c
> +++ b/drivers/mmc/host/mmc_spi.c
> @@ -819,6 +819,10 @@ mmc_spi_readblock(struct mmc_spi_host *host, struct spi_transfer *t,
> }
>
> status = spi_sync_locked(spi, &host->m);
> + if (status < 0) {
> + dev_dbg(&spi->dev, "read error %02x (%d)\n", status, status);
I don't think you need to print the status in both hex and in decimal
forms. %d should be enough, error codes are usually printed in decimal
in the kernel. Apart from that,
Reviewed-by: Laurent Pinchart <[email protected]>
> + return status;
> + }
>
> if (host->dma_dev) {
> dma_sync_single_for_cpu(host->dma_dev,
--
Regards,
Laurent Pinchart