diff options
author | Kay Sievers <kay.sievers@vrfy.org> | 2008-07-10 22:22:10 +0200 |
---|---|---|
committer | Kay Sievers <kay.sievers@vrfy.org> | 2008-07-10 22:22:10 +0200 |
commit | 05364975aff0bfaca1b5fb23963cee7d2201f99a (patch) | |
tree | cd2c6b12d3d716444e2a680a403d116a8105cf32 /extras/scsi_id | |
parent | 52b375bc3bf07e4901b09707b05ee380bf6680bb (diff) |
scsi_id: the fallback fix broke error handling
Diffstat (limited to 'extras/scsi_id')
-rw-r--r-- | extras/scsi_id/scsi_id.c | 2 | ||||
-rw-r--r-- | extras/scsi_id/scsi_serial.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/extras/scsi_id/scsi_id.c b/extras/scsi_id/scsi_id.c index 5eb95e890d..bc942fac58 100644 --- a/extras/scsi_id/scsi_id.c +++ b/extras/scsi_id/scsi_id.c @@ -551,7 +551,7 @@ static int set_inq_values(struct scsi_id_device *dev_scsi, const char *path) retval = scsi_std_inquiry(dev_scsi, path); if (retval) - return retval; + return retval; set_str(vendor_str, dev_scsi->vendor, sizeof(vendor_str)); set_str(model_str, dev_scsi->model, sizeof(model_str)); diff --git a/extras/scsi_id/scsi_serial.c b/extras/scsi_id/scsi_serial.c index 8f160306bd..016075c3ea 100644 --- a/extras/scsi_id/scsi_serial.c +++ b/extras/scsi_id/scsi_serial.c @@ -351,13 +351,13 @@ resend: io_buf = (void *)&io_hdr; } - if (ioctl(fd, SG_IO, io_buf) < 0) { + retval = ioctl(fd, SG_IO, io_buf); + if (retval < 0) { if ((errno == EINVAL || errno == ENOSYS) && dev_scsi->use_sg == 4) { dev_scsi->use_sg = 3; goto resend; } info("%s: ioctl failed: %s\n", dev_scsi->kernel, strerror(errno)); - retval = -1; goto error; } @@ -806,6 +806,7 @@ int scsi_std_inquiry(struct scsi_id_device *dev_scsi, const char *devname) if (err < 0) goto out; + err = 0; memcpy(dev_scsi->vendor, buf + 8, 8); dev_scsi->vendor[8] = '\0'; memcpy(dev_scsi->model, buf + 16, 16); |