X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=mm%2Fbounce.c;h=e590272fe7a8f3e40acb21059bb0082f74354f26;hb=c951aa62d59210636cc63a569bcf3331be7f5b15;hp=bf0cf7c8387b8d92c93dfb18436a7f2cf424cb00;hpb=81444a799550214f549caf579cf65a0ca55e70b7;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;