summaryrefslogtreecommitdiff
path: root/sysutils/nut-devel/files/patch-drivers_blazer__usb.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/nut-devel/files/patch-drivers_blazer__usb.c')
-rw-r--r--sysutils/nut-devel/files/patch-drivers_blazer__usb.c79
1 files changed, 79 insertions, 0 deletions
diff --git a/sysutils/nut-devel/files/patch-drivers_blazer__usb.c b/sysutils/nut-devel/files/patch-drivers_blazer__usb.c
new file mode 100644
index 000000000000..ccb0be8a0fb3
--- /dev/null
+++ b/sysutils/nut-devel/files/patch-drivers_blazer__usb.c
@@ -0,0 +1,79 @@
+--- drivers/blazer_usb.c.orig 2015-12-29 12:08:34 UTC
++++ drivers/blazer_usb.c
+@@ -118,9 +118,9 @@ static int phoenix_command(const char *cmd, char *buf,
+ */
+ switch (ret)
+ {
+- case -EPIPE: /* Broken pipe */
++ case LIBUSB_ERROR_PIPE: /* Broken pipe */
+ usb_clear_halt(udev, 0x81);
+- case -ETIMEDOUT: /* Connection timed out */
++ case LIBUSB_ERROR_TIMEOUT: /* Connection timed out */
+ break;
+ }
+
+@@ -188,7 +188,7 @@ static int ippon_command(const char *cmd, char *buf, s
+ 0x09, 0x2, 0, &tmp[i], 8, 1000);
+
+ if (ret <= 0) {
+- upsdebugx(3, "send: %s", (ret != -ETIMEDOUT) ? usb_strerror() : "Connection timed out");
++ upsdebugx(3, "send: %s", (ret != LIBUSB_ERROR_TIMEOUT) ? usb_strerror() : "Connection timed out");
+ return ret;
+ }
+ }
+@@ -203,7 +203,7 @@ static int ippon_command(const char *cmd, char *buf, s
+ * will happen after successfully writing a command to the UPS)
+ */
+ if (ret <= 0) {
+- upsdebugx(3, "read: %s", (ret != -ETIMEDOUT) ? usb_strerror() : "Connection timed out");
++ upsdebugx(3, "read: %s", (ret != LIBUSB_ERROR_TIMEOUT) ? usb_strerror() : "Connection timed out");
+ return ret;
+ }
+
+@@ -423,38 +423,28 @@ int blazer_command(const char *cmd, char *buf, size_t
+
+ switch (ret)
+ {
+- case -EBUSY: /* Device or resource busy */
++ case LIBUSB_ERROR_BUSY: /* Device or resource busy */
+ fatal_with_errno(EXIT_FAILURE, "Got disconnected by another driver");
+
+- case -EPERM: /* Operation not permitted */
+- fatal_with_errno(EXIT_FAILURE, "Permissions problem");
+-
+- case -EPIPE: /* Broken pipe */
++ case LIBUSB_ERROR_PIPE: /* Broken pipe */
+ if (usb_clear_halt(udev, 0x81) == 0) {
+ upsdebugx(1, "Stall condition cleared");
+ break;
+ }
+-#ifdef ETIME
+- case -ETIME: /* Timer expired */
+-#endif
+ if (usb_reset(udev) == 0) {
+ upsdebugx(1, "Device reset handled");
+ }
+- case -ENODEV: /* No such device */
+- case -EACCES: /* Permission denied */
+- case -EIO: /* I/O error */
+- case -ENXIO: /* No such device or address */
+- case -ENOENT: /* No such file or directory */
++ case LIBUSB_ERROR_NO_DEVICE: /* No such device */
++ case LIBUSB_ERROR_ACCESS: /* Permission denied */
++ case LIBUSB_ERROR_IO: /* I/O error */
++ case LIBUSB_ERROR_NOT_FOUND: /* No such file or directory */
+ /* Uh oh, got to reconnect! */
+ usb->close(udev);
+ udev = NULL;
+ break;
+
+- case -ETIMEDOUT: /* Connection timed out */
+- case -EOVERFLOW: /* Value too large for defined data type */
+-#ifdef EPROTO
+- case -EPROTO: /* Protocol error */
+-#endif
++ case LIBUSB_ERROR_TIMEOUT: /* Connection timed out */
++ case LIBUSB_ERROR_OVERFLOW: /* Value too large for defined data type */
+ default:
+ break;
+ }