summaryrefslogtreecommitdiff
path: root/drivers/mmc/core/sdio_io.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc/core/sdio_io.c')
-rw-r--r--drivers/mmc/core/sdio_io.c7
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;