[BLOCK] Don't clear sg_dma_len/addr() in blk_rq_map_sg()
[powerpc.git] / block / ll_rw_blk.c
index 8025d64..fb8fb88 100644 (file)
@@ -1354,8 +1354,7 @@ new_segment:
                        else
                                sg = sg_next(sg);
 
-                       memset(sg, 0, sizeof(*sg));
-                       sg->page = bvec->bv_page;
+                       sg_set_page(sg, bvec->bv_page);
                        sg->length = nbytes;
                        sg->offset = bvec->bv_offset;
                        nsegs++;
@@ -1363,6 +1362,9 @@ new_segment:
                bvprv = bvec;
        } /* segments in rq */
 
+       if (sg)
+               __sg_mark_end(sg);
+
        return nsegs;
 }