summaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2006-01-09 22:12:17 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-01-09 22:12:17 +0100
commit788ee7b09883515f3a72a8f2a980df5e94f37e2c (patch)
treebc66a1450d6644e712d6ca7acc1ffd725d48c5fc /drivers/mmc
parent[MMC] Lindent wbsd driver (diff)
downloadlinux-788ee7b09883515f3a72a8f2a980df5e94f37e2c.tar.xz
linux-788ee7b09883515f3a72a8f2a980df5e94f37e2c.zip
[MMC] Add DATA_MULTI flag
Some hosts need to know that a transfer will be multi-block. Add a data flag to indicate multiple data block transfers. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/mmc_block.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/mmc/mmc_block.c b/drivers/mmc/mmc_block.c
index 198561d21710..f43cdfcbfd2c 100644
--- a/drivers/mmc/mmc_block.c
+++ b/drivers/mmc/mmc_block.c
@@ -200,7 +200,13 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req)
brq.data.flags |= MMC_DATA_WRITE;
brq.data.blocks = 1;
}
- brq.mrq.stop = brq.data.blocks > 1 ? &brq.stop : NULL;
+
+ if (brq.data.blocks > 1) {
+ brq.data.flags |= MMC_DATA_MULTI;
+ brq.mrq.stop = &brq.stop;
+ } else {
+ brq.mrq.stop = NULL;
+ }
brq.data.sg = mq->sg;
brq.data.sg_len = blk_rq_map_sg(req->q, req, brq.data.sg);