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 v5 05/16] MMC: Fix S3C24XX IRQ enable during PIO transfers
    From: Roman Moracik <roman.moravcik@gmail.com> 

    Fix Bug #677 - I/O errors on heavy microSD writes for 2.6.22.x.

    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:19:15.000000000 +0100
    +++ linux-2.6.26-rc8-next20080627/drivers/mmc/host/s3cmci.c 2008-06-30 12:19:16.000000000 +0100
    @@ -335,6 +335,8 @@ static void pio_tasklet(unsigned long da
    struct s3cmci_host *host = (struct s3cmci_host *) data;


    + disable_irq(host->irq);
    +
    if (host->pio_active == XFER_WRITE)
    do_pio_write(host);

    @@ -352,9 +354,9 @@ static void pio_tasklet(unsigned long da
    host->mrq->data->error = -EINVAL;
    }

    - disable_irq(host->irq);
    finalize_request(host);
    - }
    + } else
    + enable_irq(host->irq);
    }

    /*
    @@ -630,7 +632,6 @@ out:
    spin_unlock_irqrestore(&host->complete_lock, iflags);
    return;

    -
    fail_request:
    host->mrq->data->error = -EINVAL;
    host->complete_what = COMPLETION_FINALIZE;
    --
    Ben (ben@fluff.org, http://www.fluff.org/)

    'a smiley only costs 4 bytes'


    \
     
     \ /
      Last update: 2008-06-30 23:49    [W:0.050 / U:149.960 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site