From c912a63230c1d6b389377177fae545fe21d788bd Mon Sep 17 00:00:00 2001 From: Tejun Heo Date: Tue, 19 Feb 2008 11:36:55 +0100 Subject: [PATCH] --- yaml --- r: 85891 b: refs/heads/master c: db0a2e0099be3a1cff55879225881465f16c67d3 h: refs/heads/master i: 85889: 8a0911ce00a74813efde9d68196461c890c064e2 85887: 7b88ceeae015a9f1160ef2f52b89053a3c405dd0 v: v3 --- [refs] | 2 +- trunk/block/blk-merge.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 9ae677799096..15978b0e00b9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2fb98e8414c42cb14698833aac640b143b9ade4f +refs/heads/master: db0a2e0099be3a1cff55879225881465f16c67d3 diff --git a/trunk/block/blk-merge.c b/trunk/block/blk-merge.c index bef1b4d0fc02..7506c4fe0264 100644 --- a/trunk/block/blk-merge.c +++ b/trunk/block/blk-merge.c @@ -221,6 +221,9 @@ int blk_rq_map_sg(struct request_queue *q, struct request *rq, } /* segments in rq */ if (q->dma_drain_size && q->dma_drain_needed(rq)) { + if (rq->cmd_flags & REQ_RW) + memset(q->dma_drain_buffer, 0, q->dma_drain_size); + sg->page_link &= ~0x02; sg = sg_next(sg); sg_set_page(sg, virt_to_page(q->dma_drain_buffer),