Răsfoiți Sursa

mmc: uniphier-sd: avoid using broken DMA RX channel

host->chan_rx is NULL when UNIPHIER_SD_CAP_BROKEN_DMA_RX quirk flag
is set. In this case, it should not set up DMA.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Masahiro Yamada 6 ani în urmă
părinte
comite
90f8354140
1 a modificat fișierele cu 3 adăugiri și 0 ștergeri
  1. 3 0
      drivers/mmc/host/uniphier-sd.c

+ 3 - 0
drivers/mmc/host/uniphier-sd.c

@@ -252,6 +252,9 @@ static void uniphier_sd_internal_dma_start(struct tmio_mmc_host *host,
 	u32 dma_mode;
 	u32 dma_mode;
 	int sg_len;
 	int sg_len;
 
 
+	if ((data->flags & MMC_DATA_READ) && !host->chan_rx)
+		goto force_pio;
+
 	if (WARN_ON(host->sg_len != 1))
 	if (WARN_ON(host->sg_len != 1))
 		goto force_pio;
 		goto force_pio;