X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;ds=sidebyside;f=mm%2Fbounce.c;h=e590272fe7a8f3e40acb21059bb0082f74354f26;hb=2ddb9f17ba026122b53b34fb4182ece91e24cf92;hp=bf0cf7c8387b8d92c93dfb18436a7f2cf424cb00;hpb=33edcf133ba93ecba2e4b6472e97b689895d805c;p=mv-sheeva.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;