diff options
author | Hannes Reinecke <hare@suse.de> | 2020-11-16 19:40:40 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2021-03-06 11:42:56 +0100 |
commit | a108557bbff8a3f44233982f015f996426411be8 (patch) | |
tree | fbda3652f6241c5c1992fd0df3ce6e054dcff298 /scsi/utils.c | |
parent | 9738c657208800298a7d68272b861fb2dc49fee1 (diff) |
scsi: inline sg_io_sense_from_errno() into the callers.
Currently sg_io_sense_from_errno() converts the two input parameters
'errno' and 'io_hdr' into sense code and SCSI status. Having
split the function off into scsi_sense_from_errno() and
scsi_sense_from_host_status(), both of which are available generically,
we now inline the logic in the callers so that scsi-disk and
scsi-generic will be able to pass host_status to the HBA.
Signed-off-by: Hannes Reinecke <hare@suse.de>
Message-Id: <20201116184041.60465-7-hare@suse.de>
[Put together from "scsi-disk: Add sg_io callback to evaluate status"
and what remains of "scsi: split sg_io_sense_from_errno() in two functions",
with many other fixes. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'scsi/utils.c')
-rw-r--r-- | scsi/utils.c | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/scsi/utils.c b/scsi/utils.c index 28eb32746e..873e05aeaf 100644 --- a/scsi/utils.c +++ b/scsi/utils.c @@ -658,26 +658,3 @@ int scsi_sense_from_host_status(uint8_t host_status, } return GOOD; } - -#ifdef CONFIG_LINUX -int sg_io_sense_from_errno(int errno_value, struct sg_io_hdr *io_hdr, - SCSISense *sense) -{ - if (errno_value != 0) { - return scsi_sense_from_errno(errno_value, sense); - } else { - int status = scsi_sense_from_host_status(io_hdr->host_status, sense); - if (status) { - return status; - } else if (io_hdr->driver_status & SG_ERR_DRIVER_TIMEOUT) { - return BUSY; - } else if (io_hdr->status) { - return io_hdr->status; - } else if (io_hdr->driver_status & SG_ERR_DRIVER_SENSE) { - return CHECK_CONDITION; - } else { - return GOOD; - } - } -} -#endif |