aboutsummaryrefslogtreecommitdiff
path: root/src/sg_get_elem_status.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sg_get_elem_status.c')
-rw-r--r--src/sg_get_elem_status.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/sg_get_elem_status.c b/src/sg_get_elem_status.c
index 389a3792..94f1813e 100644
--- a/src/sg_get_elem_status.c
+++ b/src/sg_get_elem_status.c
@@ -37,7 +37,7 @@
* given SCSI device.
*/
-static const char * version_str = "1.04 20210803"; /* sbc4r19 */
+static const char * version_str = "1.05 20210830"; /* sbc4r19 */
#ifndef UINT32_MAX
@@ -174,9 +174,12 @@ sg_ll_get_phy_elem_status(int sg_fd, uint32_t starting_elem, uint8_t filter,
res = do_scsi_pt(ptvp, -1, DEF_PT_TIMEOUT, verbose);
ret = sg_cmds_process_resp(ptvp, cmd_name, res, noisy, verbose,
&sense_cat);
- if (-1 == ret)
- ret = sg_convert_errno(get_scsi_pt_os_err(ptvp));
- else if (-2 == ret) {
+ if (-1 == ret) {
+ if (get_scsi_pt_transport_err(ptvp))
+ ret = SG_LIB_TRANSPORT_ERROR;
+ else
+ ret = sg_convert_errno(get_scsi_pt_os_err(ptvp));
+ } else if (-2 == ret) {
switch (sense_cat) {
case SG_LIB_CAT_RECOVERED:
case SG_LIB_CAT_NO_SENSE: