diff options
Diffstat (limited to 'drivers/mmc')
| -rw-r--r-- | drivers/mmc/host/au1xmmc.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/mmc/host/au1xmmc.c b/drivers/mmc/host/au1xmmc.c index d3f55615c099..57b21198828f 100644 --- a/drivers/mmc/host/au1xmmc.c +++ b/drivers/mmc/host/au1xmmc.c | |||
| @@ -650,11 +650,11 @@ static int au1xmmc_prepare_data(struct au1xmmc_host *host, | |||
| 650 | flags = DDMA_FLAGS_IE; | 650 | flags = DDMA_FLAGS_IE; |
| 651 | 651 | ||
| 652 | if (host->flags & HOST_F_XMIT) { | 652 | if (host->flags & HOST_F_XMIT) { |
| 653 | ret = au1xxx_dbdma_put_source_flags(channel, | 653 | ret = au1xxx_dbdma_put_source(channel, |
| 654 | (void *)sg_virt(sg), len, flags); | 654 | sg_phys(sg), len, flags); |
| 655 | } else { | 655 | } else { |
| 656 | ret = au1xxx_dbdma_put_dest_flags(channel, | 656 | ret = au1xxx_dbdma_put_dest(channel, |
| 657 | (void *)sg_virt(sg), len, flags); | 657 | sg_phys(sg), len, flags); |
| 658 | } | 658 | } |
| 659 | 659 | ||
| 660 | if (!ret) | 660 | if (!ret) |
| @@ -1017,6 +1017,10 @@ static int __devinit au1xmmc_probe(struct platform_device *pdev) | |||
| 1017 | } else | 1017 | } else |
| 1018 | mmc->caps |= MMC_CAP_NEEDS_POLL; | 1018 | mmc->caps |= MMC_CAP_NEEDS_POLL; |
| 1019 | 1019 | ||
| 1020 | /* platform may not be able to use all advertised caps */ | ||
| 1021 | if (host->platdata) | ||
| 1022 | mmc->caps &= ~(host->platdata->mask_host_caps); | ||
| 1023 | |||
| 1020 | tasklet_init(&host->data_task, au1xmmc_tasklet_data, | 1024 | tasklet_init(&host->data_task, au1xmmc_tasklet_data, |
| 1021 | (unsigned long)host); | 1025 | (unsigned long)host); |
| 1022 | 1026 | ||
