mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 06:31:49 +00:00
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))
|
||||
goto out_free_cdb;
|
||||
|
||||
ret = 0;
|
||||
if (hdr->iovec_count) {
|
||||
size_t iov_data_len;
|
||||
struct iovec *iov = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user