X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fudev%2Fscsi_id%2Fscsi_serial.c;h=3c52dee62dc2757a493617c59a5ed548e4aaaba7;hb=ab261e1226efac3d47b2dc4a0e0165aeb8bb528e;hp=6bfb7f780cbf204e1e5692e9977e6c587a596b1d;hpb=baa30fbc2c04b23209d0b8fb3c86cd15ef9ea81a;p=elogind.git diff --git a/src/udev/scsi_id/scsi_serial.c b/src/udev/scsi_id/scsi_serial.c index 6bfb7f780..3c52dee62 100644 --- a/src/udev/scsi_id/scsi_serial.c +++ b/src/udev/scsi_id/scsi_serial.c @@ -469,10 +469,10 @@ static int prepend_vendor_model(struct udev *udev, return ind; } -/** +/* * check_fill_0x83_id - check the page 0x83 id, if OK allocate and fill * serial number. - **/ + */ static int check_fill_0x83_id(struct udev *udev, struct scsi_id_device *dev_scsi, unsigned char *page_83, @@ -799,6 +799,7 @@ static int do_scsi_page80_inquiry(struct udev *udev, ser_ind = prepend_vendor_model(udev, dev_scsi, &serial[1]); if (ser_ind < 0) return 1; + ser_ind++; /* for the leading 'S' */ for (i = 4; i < len + 4; i++, ser_ind++) serial[ser_ind] = buf[i]; } @@ -920,7 +921,8 @@ int scsi_get_serial(struct udev *udev, } } else if (page_code != 0x00) { log_debug("%s: unsupported page code 0x%d\n", dev_scsi->kernel, page_code); - return 1; + retval = 1; + goto completed; } /*