#include <sys/types.h>
#include <sys/ioctl.h>
+#include <sys/stat.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
/* #include <linux/bsg.h> */
#include "bsg.h"
-#include "../../udev.h"
+#include "../../udev/udev.h"
#include "scsi.h"
#include "scsi_id.h"
-#include "scsi_id_version.h"
/*
* A priority based list of id, naa, and binary/ascii for the identifier
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;
}
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);