From 9f5ef190348990bf05e2653ade396de43c20a0b5 Mon Sep 17 00:00:00 2001 From: Matthew Wilcox Date: Tue, 13 Sep 2011 17:01:39 -0400 Subject: [PATCH] --- yaml --- r: 286304 b: refs/heads/master c: d0ba1e497bca83a3d353eb47c9658afc54d83228 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/block/nvme.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 4f13de964e4b..4f7dbd10b8c2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6413214c5d424fd5aae6567848340f962ad2ce0f +refs/heads/master: d0ba1e497bca83a3d353eb47c9658afc54d83228 diff --git a/trunk/drivers/block/nvme.c b/trunk/drivers/block/nvme.c index 0956e1241520..5843409cac6d 100644 --- a/trunk/drivers/block/nvme.c +++ b/trunk/drivers/block/nvme.c @@ -996,11 +996,11 @@ static int nvme_map_user_pages(struct nvme_dev *dev, int write, sg = kcalloc(count, sizeof(*sg), GFP_KERNEL); sg_init_table(sg, count); - sg_set_page(&sg[0], pages[0], PAGE_SIZE - offset, offset); - length -= (PAGE_SIZE - offset); - for (i = 1; i < count; i++) { - sg_set_page(&sg[i], pages[i], min_t(int, length, PAGE_SIZE), 0); - length -= PAGE_SIZE; + for (i = 0; i < count; i++) { + sg_set_page(&sg[i], pages[i], + min_t(int, length, PAGE_SIZE - offset), offset); + length -= (PAGE_SIZE - offset); + offset = 0; } err = -ENOMEM;