diff options
Diffstat (limited to 'src/sg_bg_ctl.c')
-rw-r--r-- | src/sg_bg_ctl.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/sg_bg_ctl.c b/src/sg_bg_ctl.c index 3f0b7997..008fee6f 100644 --- a/src/sg_bg_ctl.c +++ b/src/sg_bg_ctl.c @@ -33,7 +33,7 @@ * device. Based on sbc4r10.pdf . */ -static const char * version_str = "1.04 20180126"; +static const char * version_str = "1.05 20180210"; #define BACKGROUND_CONTROL_SA 0x15 @@ -115,12 +115,9 @@ sg_ll_background_control(int sg_fd, unsigned int bo_ctl, unsigned int bo_time, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cmd_name, res, SG_NO_DATA_IN, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + 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: |