On Tue, 07 Aug 2007 13:54:32 +0100 David Vrabel <[EMAIL PROTECTED]> wrote:
> > Index: mmc/drivers/mmc/core/sdio.c > =================================================================== > --- mmc.orig/drivers/mmc/core/sdio.c 2007-08-07 > 00:38:33.000000000 +0100 +++ mmc/drivers/mmc/core/sdio.c > 2007-08-07 07:17:29.000000000 +0100 @@ -53,6 +53,7 @@ > { > int ret; > struct sdio_func *func; > + unsigned block_size; > > BUG_ON(fn > SDIO_MAX_FUNCS); > > @@ -70,6 +71,15 @@ > if (ret) > goto fail; > > + /* > + * Set the function's block size to the largest supported by > + * both the function and the host. > + */ > + block_size = min(func->max_blksize, > func->card->host->max_blk_size); > + ret = sdio_set_block_size(func, block_size); > + if (ret) > + goto fail; > + > card->sdio_func[fn - 1] = func; > > return 0; This is probably better done in the sdio_enable_func(). We also need to check that the card actually supports block io. -- -- Pierre Ossman Linux kernel, MMC maintainer http://www.kernel.org PulseAudio, core developer http://pulseaudio.org rdesktop, core developer http://www.rdesktop.org - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/