diff options
author | Hannes Reinecke <hare@suse.de> | 2021-04-27 10:30:09 +0200 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2021-06-01 04:48:20 +0200 |
commit | 8793613de913e03e7c884f4cc56e350bc716431e (patch) | |
tree | ecc53ed3e2636d951e3d810b14a656555aafdc02 /drivers/scsi/sr.c | |
parent | scsi: scsi_ioctl: Return error code when blk_rq_map_kern() fails (diff) | |
download | linux-8793613de913e03e7c884f4cc56e350bc716431e.tar.xz linux-8793613de913e03e7c884f4cc56e350bc716431e.zip |
scsi: core: Fixup calling convention for scsi_mode_sense()
The description for scsi_mode_sense() claims to return the number of valid
bytes on success, which is not what the code does. Additionally there is
no gain in returning the SCSI status, as everything the callers do is to
check against scsi_result_is_good(), which is what scsi_mode_sense() does
already. So change the calling convention to return a standard error code
on failure, and 0 on success, and adapt the description and all callers.
Link: https://lore.kernel.org/r/20210427083046.31620-4-hare@suse.de
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to '')
-rw-r--r-- | drivers/scsi/sr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c index e4633b84c556..9b2ccf0c9a8c 100644 --- a/drivers/scsi/sr.c +++ b/drivers/scsi/sr.c @@ -911,7 +911,7 @@ static void get_capabilities(struct scsi_cd *cd) rc = scsi_mode_sense(cd->device, 0, 0x2a, buffer, ms_len, SR_TIMEOUT, 3, &data, NULL); - if (!scsi_status_is_good(rc) || data.length > ms_len || + if (rc < 0 || data.length > ms_len || data.header_length + data.block_descriptor_length > data.length) { /* failed, drive doesn't have capabilities mode page */ cd->cdi.speed = 1; |