|
@@ -214,21 +214,10 @@ static int blk_fill_sghdr_rq(struct request_queue *q, struct request *rq,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
- * unmap a request that was previously mapped to this sg_io_hdr. handles
|
|
|
- * both sg and non-sg sg_io_hdr.
|
|
|
- */
|
|
|
-static int blk_unmap_sghdr_rq(struct request *rq, struct sg_io_hdr *hdr)
|
|
|
-{
|
|
|
- blk_rq_unmap_user(rq->bio);
|
|
|
- blk_put_request(rq);
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
static int blk_complete_sghdr_rq(struct request *rq, struct sg_io_hdr *hdr,
|
|
|
struct bio *bio)
|
|
|
{
|
|
|
- int r, ret = 0;
|
|
|
+ int ret = 0;
|
|
|
|
|
|
/*
|
|
|
* fill in all the output members
|
|
@@ -253,12 +242,10 @@ static int blk_complete_sghdr_rq(struct request *rq, struct sg_io_hdr *hdr,
|
|
|
ret = -EFAULT;
|
|
|
}
|
|
|
|
|
|
- rq->bio = bio;
|
|
|
- r = blk_unmap_sghdr_rq(rq, hdr);
|
|
|
- if (ret)
|
|
|
- r = ret;
|
|
|
+ blk_rq_unmap_user(bio);
|
|
|
+ blk_put_request(rq);
|
|
|
|
|
|
- return r;
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
static int sg_io(struct request_queue *q, struct gendisk *bd_disk,
|