From 2a6f76f85bcd615a750b6b3fe4abf8fe809ad7b7 Mon Sep 17 00:00:00 2001 From: Russell King Date: Mon, 9 Jan 2006 21:12:17 +0000 Subject: [PATCH] --- yaml --- r: 17398 b: refs/heads/master c: 788ee7b09883515f3a72a8f2a980df5e94f37e2c h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/mmc/mmc_block.c | 8 +++++++- trunk/include/linux/mmc/mmc.h | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index c8722bd8bb04..896d5ea86b83 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cfa7f52164d6cdcb6cea87386562c568da66ff9e +refs/heads/master: 788ee7b09883515f3a72a8f2a980df5e94f37e2c diff --git a/trunk/drivers/mmc/mmc_block.c b/trunk/drivers/mmc/mmc_block.c index 198561d21710..f43cdfcbfd2c 100644 --- a/trunk/drivers/mmc/mmc_block.c +++ b/trunk/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); diff --git a/trunk/include/linux/mmc/mmc.h b/trunk/include/linux/mmc/mmc.h index aef6042f8f0b..86d491b3b73f 100644 --- a/trunk/include/linux/mmc/mmc.h +++ b/trunk/include/linux/mmc/mmc.h @@ -64,6 +64,7 @@ struct mmc_data { #define MMC_DATA_WRITE (1 << 8) #define MMC_DATA_READ (1 << 9) #define MMC_DATA_STREAM (1 << 10) +#define MMC_DATA_MULTI (1 << 11) unsigned int bytes_xfered;