diff options
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/host/mvsdio.c | 4 | ||||
-rw-r--r-- | drivers/mmc/host/pxamci.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c index b56d72ff06e9..34e23489811a 100644 --- a/drivers/mmc/host/mvsdio.c +++ b/drivers/mmc/host/mvsdio.c | |||
@@ -384,7 +384,7 @@ static irqreturn_t mvsd_irq(int irq, void *dev) | |||
384 | u16 val[2] = {0, 0}; | 384 | u16 val[2] = {0, 0}; |
385 | val[0] = mvsd_read(MVSD_FIFO); | 385 | val[0] = mvsd_read(MVSD_FIFO); |
386 | val[1] = mvsd_read(MVSD_FIFO); | 386 | val[1] = mvsd_read(MVSD_FIFO); |
387 | memcpy(p, &val, s); | 387 | memcpy(p, ((void *)&val) + 4 - s, s); |
388 | s = 0; | 388 | s = 0; |
389 | intr_status = mvsd_read(MVSD_NOR_INTR_STATUS); | 389 | intr_status = mvsd_read(MVSD_NOR_INTR_STATUS); |
390 | } | 390 | } |
@@ -423,7 +423,7 @@ static irqreturn_t mvsd_irq(int irq, void *dev) | |||
423 | if (s < 4) { | 423 | if (s < 4) { |
424 | if (s && (intr_status & MVSD_NOR_TX_AVAIL)) { | 424 | if (s && (intr_status & MVSD_NOR_TX_AVAIL)) { |
425 | u16 val[2] = {0, 0}; | 425 | u16 val[2] = {0, 0}; |
426 | memcpy(&val, p, s); | 426 | memcpy(((void *)&val) + 4 - s, p, s); |
427 | mvsd_write(MVSD_FIFO, val[0]); | 427 | mvsd_write(MVSD_FIFO, val[0]); |
428 | mvsd_write(MVSD_FIFO, val[1]); | 428 | mvsd_write(MVSD_FIFO, val[1]); |
429 | s = 0; | 429 | s = 0; |
diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c index d7d7109ef47e..e55ac792d68c 100644 --- a/drivers/mmc/host/pxamci.c +++ b/drivers/mmc/host/pxamci.c | |||
@@ -168,12 +168,12 @@ static void pxamci_setup_data(struct pxamci_host *host, struct mmc_data *data) | |||
168 | 168 | ||
169 | if (data->flags & MMC_DATA_READ) { | 169 | if (data->flags & MMC_DATA_READ) { |
170 | host->dma_dir = DMA_FROM_DEVICE; | 170 | host->dma_dir = DMA_FROM_DEVICE; |
171 | dcmd = DCMD_INCTRGADDR | DCMD_FLOWTRG; | 171 | dcmd = DCMD_INCTRGADDR | DCMD_FLOWSRC; |
172 | DRCMR(host->dma_drcmrtx) = 0; | 172 | DRCMR(host->dma_drcmrtx) = 0; |
173 | DRCMR(host->dma_drcmrrx) = host->dma | DRCMR_MAPVLD; | 173 | DRCMR(host->dma_drcmrrx) = host->dma | DRCMR_MAPVLD; |
174 | } else { | 174 | } else { |
175 | host->dma_dir = DMA_TO_DEVICE; | 175 | host->dma_dir = DMA_TO_DEVICE; |
176 | dcmd = DCMD_INCSRCADDR | DCMD_FLOWSRC; | 176 | dcmd = DCMD_INCSRCADDR | DCMD_FLOWTRG; |
177 | DRCMR(host->dma_drcmrrx) = 0; | 177 | DRCMR(host->dma_drcmrrx) = 0; |
178 | DRCMR(host->dma_drcmrtx) = host->dma | DRCMR_MAPVLD; | 178 | DRCMR(host->dma_drcmrtx) = host->dma | DRCMR_MAPVLD; |
179 | } | 179 | } |