block: fix error handling in sg_io
authorSabrina Dubroca <sd@queasysnail.net>
Tue, 26 Aug 2014 14:14:02 +0000 (16:14 +0200)
committerJens Axboe <axboe@fb.com>
Tue, 26 Aug 2014 14:20:01 +0000 (08:20 -0600)
commitd19d744685f47f1bb3d39b3ec51eb50afe5ff47d
treee3056acc30ff3e7d928c9d074fd7d22263bc9e66
parent2ba136daa3ae1e881c9f586f283fcaa164767dce
block: fix error handling in sg_io

Before commit 2cada584b200 ("block: cleanup error handling in sg_io"),
we had ret = 0 before entering the last big if block of sg_io.

Since 2cada584b200, 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: 2cada584b200 ("block: cleanup error handling in sg_io")
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/scsi_ioctl.c