mmc: Allow host drivers to specify a max block size

Most controllers have an upper limit on the block size. Allow the host
drivers to specify this and make sure we avoid hitting this limit.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
diff --git a/drivers/mmc/wbsd.c b/drivers/mmc/wbsd.c
index 7a28267..5711bee 100644
--- a/drivers/mmc/wbsd.c
+++ b/drivers/mmc/wbsd.c
@@ -1354,6 +1354,12 @@
 	 */
 	mmc->max_seg_size = mmc->max_sectors * 512;
 
+	/*
+	 * Maximum block size. We have 12 bits (= 4095) but have to subtract
+	 * space for CRC. So the maximum is 4095 - 4*2 = 4087.
+	 */
+	mmc->max_blk_size = 4087;
+
 	dev_set_drvdata(dev, mmc);
 
 	return 0;