diff options
Diffstat (limited to 'drivers/mmc/host/mmci.c')
-rw-r--r-- | drivers/mmc/host/mmci.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c index 40e72c30ea84..4a69c9408f1e 100644 --- a/drivers/mmc/host/mmci.c +++ b/drivers/mmc/host/mmci.c @@ -219,6 +219,7 @@ static struct variant_data variant_ux500v2 = { .start_err = MCI_STARTBITERR, .opendrain = MCI_OD, .init = ux500v2_variant_init, + .any_blksize = true, }; static struct variant_data variant_stm32 = { @@ -294,6 +295,7 @@ static struct variant_data variant_qcom = { .start_err = MCI_STARTBITERR, .opendrain = MCI_ROD, .init = qcom_variant_init, + .any_blksize = true, }; /* Busy detection for the ST Micro variant */ @@ -452,10 +454,12 @@ static void mmci_dma_setup(struct mmci_host *host) static int mmci_validate_data(struct mmci_host *host, struct mmc_data *data) { + struct variant_data *variant = host->variant; + if (!data) return 0; - if (!is_power_of_2(data->blksz)) { + if (!is_power_of_2(data->blksz) && !variant->any_blksize) { dev_err(mmc_dev(host->mmc), "unsupported block size (%d bytes)\n", data->blksz); return -EINVAL; |