lkml.org 
[lkml]   [2008]   [Jun]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch v4 17/17] MMC: S3C24XX:
    The hardware does not support any multi-block transfers
    with an block-size that is not aligned. Also the driver
    itself does not support single block non-32bit transfers
    either.

    Ensure that the s3cmci_setup_data() returns the appropriate
    error if we encounter this.

    Signed-off-by: Ben Dooks <ben-linux@fluff.org>

    Index: linux-2.6.26-rc8-next20080627/drivers/mmc/host/s3cmci.c
    ===================================================================
    --- linux-2.6.26-rc8-next20080627.orig/drivers/mmc/host/s3cmci.c 2008-06-30 12:38:22.000000000 +0100
    +++ linux-2.6.26-rc8-next20080627/drivers/mmc/host/s3cmci.c 2008-06-30 12:38:46.000000000 +0100
    @@ -808,6 +808,17 @@ static int s3cmci_setup_data(struct s3cm
    return 0;
    }

    + if ((data->blksz & 3) != 0) {
    + /* We cannot deal with unaligned blocks with more than
    + * one block being transfered. */
    +
    + if (data->blocks > 1)
    + return -EINVAL;
    +
    + /* No support yet for non-word block transfers. */
    + return -EINVAL;
    + }
    +
    while (readl(host->base + S3C2410_SDIDSTA) &
    (S3C2410_SDIDSTA_TXDATAON | S3C2410_SDIDSTA_RXDATAON)) {

    --
    Ben (ben@fluff.org, http://www.fluff.org/)

    'a smiley only costs 4 bytes'


    \
     
     \ /
      Last update: 2008-06-30 17:33    [W:0.019 / U:61.808 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site