diff options
author | Pierre Ossman <drzeus@drzeus.cx> | 2007-07-24 22:38:53 +0400 |
---|---|---|
committer | Pierre Ossman <drzeus@drzeus.cx> | 2007-09-23 11:15:05 +0400 |
commit | 255d01af9a990fd5166f04ed0cc0b30b7b67e81e (patch) | |
tree | 0e88bc62b3e988bb578cf7d2dea80270a6d0a4c1 /drivers/mmc/host/mmci.c | |
parent | b146d26a61e0feab2f12a98ae83fd352830899c0 (diff) | |
download | linux-255d01af9a990fd5166f04ed0cc0b30b7b67e81e.tar.xz |
mmc: remove BYTEBLOCK capability
Remove the BYTEBLOCK capability and let the broken hosts fail the
requests with -EINVAL instead.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc/host/mmci.c')
-rw-r--r-- | drivers/mmc/host/mmci.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c index d53e9a8bdaa2..4a72772f4fe4 100644 --- a/drivers/mmc/host/mmci.c +++ b/drivers/mmc/host/mmci.c @@ -391,6 +391,14 @@ static void mmci_request(struct mmc_host *mmc, struct mmc_request *mrq) WARN_ON(host->mrq != NULL); + if (mrq->data && (hweight32(mrq->data->blksz) > 1)) { + printk(KERN_ERR "%s: Unsupported block size (%d bytes)\n", + mmc_hostname(mmc), mrq->data->blksz); + mrq->cmd->error = -EINVAL; + mmc_request_done(mmc, mrq); + return; + } + spin_lock_irq(&host->lock); host->mrq = mrq; |