X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=mm%2Fbounce.c;h=e590272fe7a8f3e40acb21059bb0082f74354f26;hb=b4ce94de9b4d64e8ab3cf155d13653c666e22b9b;hp=bf0cf7c8387b8d92c93dfb18436a7f2cf424cb00;hpb=fd37617e69fb865348d012eb1413aef0141ae2de;p=linux-2.6-omap-h63xx.git diff --git a/mm/bounce.c b/mm/bounce.c index bf0cf7c8387..e590272fe7a 100644 --- a/mm/bounce.c +++ b/mm/bounce.c @@ -198,8 +198,13 @@ static void __blk_queue_bounce(struct request_queue *q, struct bio **bio_orig, /* * irk, bounce it */ - if (!bio) - bio = bio_alloc(GFP_NOIO, (*bio_orig)->bi_vcnt); + if (!bio) { + unsigned int cnt = (*bio_orig)->bi_vcnt; + + bio = bio_alloc(GFP_NOIO, cnt); + memset(bio->bi_io_vec, 0, cnt * sizeof(struct bio_vec)); + } + to = bio->bi_io_vec + i;