sdio: add quirk to clamp byte mode transfer
[safe/jmp/linux-2.6] / drivers / mmc / core / sdio_io.c
index f9aa8a7..87c6189 100644 (file)
@@ -189,7 +189,12 @@ static inline unsigned int sdio_max_byte_size(struct sdio_func *func)
 {
        unsigned mval = min(func->card->host->max_seg_size,
                            func->card->host->max_blk_size);
-       mval = min(mval, func->max_blksize);
+
+       if (mmc_blksz_for_byte_mode(func->card))
+               mval = min(mval, func->cur_blksize);
+       else
+               mval = min(mval, func->max_blksize);
+
        return min(mval, 512u); /* maximum size for byte mode */
 }