mmc: at91_mci: disable handling of blocks with size not multiple of 4 bytes
authorMarc Pignat <marc.pignat@hevs.ch>
Thu, 9 Aug 2007 11:56:29 +0000 (13:56 +0200)
committerPierre Ossman <drzeus@drzeus.cx>
Sun, 23 Sep 2007 17:29:34 +0000 (19:29 +0200)
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>
drivers/mmc/host/at91_mci.c

index 8ec3178..6ba98a4 100644 (file)
@@ -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;