forked from luck/tmp_suning_uos_patched
block: fix error handling in sg_io
Before commit2cada584b2
("block: cleanup error handling in sg_io"), we had ret = 0 before entering the last big if block of sg_io. Since2cada584b2
, ret = -EFAULT, which breaks hdparm: /dev/sda: setting Advanced Power Management level to 0xc8 (200) HDIO_DRIVE_CMD failed: Bad address APM_level = 128 Signed-off-by: Sabrina Dubroca <sd@queasysnail.net> Fixes:2cada584b2
("block: cleanup error handling in sg_io") Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
2ba136daa3
commit
d19d744685
|
@ -330,6 +330,7 @@ static int sg_io(struct request_queue *q, struct gendisk *bd_disk,
|
||||||
if (blk_fill_sghdr_rq(q, rq, hdr, mode))
|
if (blk_fill_sghdr_rq(q, rq, hdr, mode))
|
||||||
goto out_free_cdb;
|
goto out_free_cdb;
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
if (hdr->iovec_count) {
|
if (hdr->iovec_count) {
|
||||||
size_t iov_data_len;
|
size_t iov_data_len;
|
||||||
struct iovec *iov = NULL;
|
struct iovec *iov = NULL;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user