diff options
author | Marc Pignat <marc.pignat@hevs.ch> | 2007-08-09 13:56:29 +0200 |
---|---|---|
committer | Pierre Ossman <drzeus@drzeus.cx> | 2007-09-23 19:29:34 +0200 |
commit | 1d4de9edd6c9ad676b20729ab15c04b78e9a50c5 (patch) | |
tree | 9a55b7cc98723bced21a27a8a33fc01cb389c038 | |
parent | mmc: add missing printk levels (diff) | |
download | linux-1d4de9edd6c9ad676b20729ab15c04b78e9a50c5.tar.xz linux-1d4de9edd6c9ad676b20729ab15c04b78e9a50c5.zip |
mmc: at91_mci: disable handling of blocks with size not multiple of 4 bytes
This kind of transfer is not supported, so don't advertise it and make it
fail early.
Signed-off-by: Marc Pignat <marc.pignat@hevs.ch>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
-rw-r--r-- | drivers/mmc/host/at91_mci.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/mmc/host/at91_mci.c b/drivers/mmc/host/at91_mci.c index 8ec317802347..6ba98a49612d 100644 --- a/drivers/mmc/host/at91_mci.c +++ b/drivers/mmc/host/at91_mci.c @@ -428,6 +428,14 @@ static void at91_mci_send_command(struct at91mci_host *host, struct mmc_command } if (data) { + + if ( data->blksz & 0x3 ) { + pr_debug("Unsupported block size\n"); + cmd->error = -EINVAL; + mmc_request_done(host->mmc, host->request); + return; + } + block_length = data->blksz; blocks = data->blocks; |