diff options
Diffstat (limited to 'drivers/mmc/card/block.c')
-rw-r--r-- | drivers/mmc/card/block.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c index 540ff4bea54c..cbd4b6e3e17c 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c | |||
@@ -262,7 +262,9 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req) | |||
262 | } | 262 | } |
263 | 263 | ||
264 | brq.data.sg = mq->sg; | 264 | brq.data.sg = mq->sg; |
265 | brq.data.sg_len = blk_rq_map_sg(req->q, req, brq.data.sg); | 265 | brq.data.sg_len = mmc_queue_map_sg(mq); |
266 | |||
267 | mmc_queue_bounce_pre(mq); | ||
266 | 268 | ||
267 | if (brq.data.blocks != | 269 | if (brq.data.blocks != |
268 | (req->nr_sectors >> (md->block_bits - 9))) { | 270 | (req->nr_sectors >> (md->block_bits - 9))) { |
@@ -279,6 +281,9 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req) | |||
279 | } | 281 | } |
280 | 282 | ||
281 | mmc_wait_for_req(card->host, &brq.mrq); | 283 | mmc_wait_for_req(card->host, &brq.mrq); |
284 | |||
285 | mmc_queue_bounce_post(mq); | ||
286 | |||
282 | if (brq.cmd.error) { | 287 | if (brq.cmd.error) { |
283 | printk(KERN_ERR "%s: error %d sending read/write command\n", | 288 | printk(KERN_ERR "%s: error %d sending read/write command\n", |
284 | req->rq_disk->disk_name, brq.cmd.error); | 289 | req->rq_disk->disk_name, brq.cmd.error); |