X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=mm%2Fhighmem.c;h=09eac06bb52efb37d1f807928c11dc140bcb98e2;hb=7b563c525e46f373a521421e31aa791cc27beb56;hp=432da5b68baf5ae4c730610c7f69019e387a7ca0;hpb=a91482bdcc2e0f6035702e46f1b99043a0893346;p=linux-2.6.git diff --git a/mm/highmem.c b/mm/highmem.c index 432da5b68..09eac06bb 100644 --- a/mm/highmem.c +++ b/mm/highmem.c @@ -308,10 +308,12 @@ static void bounce_end_io(struct bio *bio, mempool_t *pool) { struct bio *bio_orig = bio->bi_private; struct bio_vec *bvec, *org_vec; - int i, err = 0; + int i; if (!test_bit(BIO_UPTODATE, &bio->bi_flags)) - err = -EIO; + goto out_eio; + + set_bit(BIO_UPTODATE, &bio_orig->bi_flags); /* * free up bounce indirect pages used @@ -324,7 +326,8 @@ static void bounce_end_io(struct bio *bio, mempool_t *pool) mempool_free(bvec->bv_page, pool); } - bio_endio(bio_orig, bio_orig->bi_size, err); +out_eio: + bio_endio(bio_orig, bio_orig->bi_size, 0); bio_put(bio); }