diff options
Diffstat (limited to 'drivers/mmc/core/sdio_io.c')
-rw-r--r-- | drivers/mmc/core/sdio_io.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/mmc/core/sdio_io.c b/drivers/mmc/core/sdio_io.c index f61fc2d4cd0a..de4ad9d4321a 100644 --- a/drivers/mmc/core/sdio_io.c +++ b/drivers/mmc/core/sdio_io.c @@ -624,7 +624,14 @@ void sdio_f0_writeb(struct sdio_func *func, unsigned char b, unsigned int addr, BUG_ON(!func); +#ifdef CONFIG_MMC_EMBEDDED_SDIO +/*allow SDIO FN0 writes outside of VS CCCR*/ +#define MMC_QUIRK_LENIENT_FUNC0 (1<<1) + if ((addr < 0xF0 || addr > 0xFF) && + (!func->card->quirks & MMC_QUIRK_LENIENT_FUNC0)) { +#else if (addr < 0xF0 || addr > 0xFF) { +#endif if (err_ret) *err_ret = -EINVAL; return; |