From: "Steven J. Hill" <Steven.Hill@xxxxxxxxxx> Use the mmc_card_is_blockaddr() function to properly detect if the card uses byte or block addressing. Signed-off-by: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> --- drivers/mmc/host/cavium.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mmc/host/cavium.c b/drivers/mmc/host/cavium.c index d842b69..36b25e4 100644 --- a/drivers/mmc/host/cavium.c +++ b/drivers/mmc/host/cavium.c @@ -629,7 +629,7 @@ static u64 prepare_ext_dma(struct mmc_host *mmc, struct mmc_request *mrq) emm_dma = FIELD_PREP(MIO_EMM_DMA_VAL, 1) | FIELD_PREP(MIO_EMM_DMA_SECTOR, - (mrq->data->blksz == 512) ? 1 : 0) | + mmc_card_is_blockaddr(mmc->card) ? 1 : 0) | FIELD_PREP(MIO_EMM_DMA_RW, (mrq->data->flags & MMC_DATA_WRITE) ? 1 : 0) | FIELD_PREP(MIO_EMM_DMA_BLOCK_CNT, mrq->data->blocks) | -- 2.1.4