]> err.no Git - linux-2.6/blobdiff - block/blk-merge.c
rt2x00: TO_DS filter depends on intf_ap_count
[linux-2.6] / block / blk-merge.c
index bef1b4d0fc02304faaacc57d3495fc47ccd84d0a..0f58616bcd7f183514c43eb913f0e0c23c855215 100644 (file)
@@ -221,6 +221,9 @@ new_segment:
        } /* 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),
@@ -228,7 +231,7 @@ new_segment:
                            ((unsigned long)q->dma_drain_buffer) &
                            (PAGE_SIZE - 1));
                nsegs++;
-               rq->data_len += q->dma_drain_size;
+               rq->extra_len += q->dma_drain_size;
        }
 
        if (sg)