diff options
-rw-r--r-- | block/blk-merge.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/block/blk-merge.c b/block/blk-merge.c index bef1b4d0fc02..7506c4fe0264 100644 --- a/block/blk-merge.c +++ b/block/blk-merge.c | |||
@@ -221,6 +221,9 @@ new_segment: | |||
221 | } /* segments in rq */ | 221 | } /* segments in rq */ |
222 | 222 | ||
223 | if (q->dma_drain_size && q->dma_drain_needed(rq)) { | 223 | if (q->dma_drain_size && q->dma_drain_needed(rq)) { |
224 | if (rq->cmd_flags & REQ_RW) | ||
225 | memset(q->dma_drain_buffer, 0, q->dma_drain_size); | ||
226 | |||
224 | sg->page_link &= ~0x02; | 227 | sg->page_link &= ~0x02; |
225 | sg = sg_next(sg); | 228 | sg = sg_next(sg); |
226 | sg_set_page(sg, virt_to_page(q->dma_drain_buffer), | 229 | sg_set_page(sg, virt_to_page(q->dma_drain_buffer), |