From 36db61258ce00659499da36e7f96fa98f980adf9 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 18 Jun 2009 09:33:32 +0200 Subject: [PATCH] --- yaml --- r: 156153 b: refs/heads/master c: da60a91d012bcb10bc5bcd86d585c4281742832c h: refs/heads/master i: 156151: 26e755bb07311d6a2ef9e0ccaf14a35e12e777e3 v: v3 --- [refs] | 2 +- trunk/drivers/mmc/host/sdhci.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index aa5b8e81b5a6..59d5dcc26895 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6de7e356faf54aa75de5b624bbce28a5b776dfa8 +refs/heads/master: da60a91d012bcb10bc5bcd86d585c4281742832c diff --git a/trunk/drivers/mmc/host/sdhci.c b/trunk/drivers/mmc/host/sdhci.c index 62041c7e9246..fc96f8cb9c0b 100644 --- a/trunk/drivers/mmc/host/sdhci.c +++ b/trunk/drivers/mmc/host/sdhci.c @@ -773,8 +773,14 @@ static void sdhci_prepare_data(struct sdhci_host *host, struct mmc_data *data) } if (!(host->flags & SDHCI_REQ_USE_DMA)) { - sg_miter_start(&host->sg_miter, - data->sg, data->sg_len, SG_MITER_ATOMIC); + int flags; + + flags = SG_MITER_ATOMIC; + if (host->data->flags & MMC_DATA_READ) + flags |= SG_MITER_TO_SG; + else + flags |= SG_MITER_FROM_SG; + sg_miter_start(&host->sg_miter, data->sg, data->sg_len, flags); host->blocks = data->blocks; }