diff options
author | Cy Schubert <cy@FreeBSD.org> | 2020-11-14 15:58:15 +0800 |
---|---|---|
committer | Cy Schubert <cy@FreeBSD.org> | 2020-11-14 15:58:15 +0800 |
commit | fe02968432cf5e4b2879f3a719b611ca3cea5405 (patch) | |
tree | 1448c9b778626f39a44cd6aec6fd32aff4516e51 /sysutils | |
parent | 4d511e5a9e9a3acf38624fafc2abc4b2b4abd65e (diff) | |
download | freebsd-ports-gnome-fe02968432cf5e4b2879f3a719b611ca3cea5405.tar.gz freebsd-ports-gnome-fe02968432cf5e4b2879f3a719b611ca3cea5405.tar.zst freebsd-ports-gnome-fe02968432cf5e4b2879f3a719b611ca3cea5405.zip |
Properly check USB errors using sys/errno.h.
Diffstat (limited to 'sysutils')
20 files changed, 22 insertions, 842 deletions
diff --git a/sysutils/nut-devel/Makefile b/sysutils/nut-devel/Makefile index 8321356d9683..c4d724aaf959 100644 --- a/sysutils/nut-devel/Makefile +++ b/sysutils/nut-devel/Makefile @@ -3,7 +3,7 @@ PORTNAME= nut PORTVERSION= ${NUT_COMMIT_DATE} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= sysutils PKGNAMESUFFIX= -devel # MASTER_SITES= http://www.networkupstools.org/source/${PORTVERSION:R}/ diff --git a/sysutils/nut-devel/files/patch-drivers_blazer__usb.c b/sysutils/nut-devel/files/patch-drivers_blazer__usb.c deleted file mode 100644 index ccb0be8a0fb3..000000000000 --- a/sysutils/nut-devel/files/patch-drivers_blazer__usb.c +++ /dev/null @@ -1,79 +0,0 @@ ---- 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; - } diff --git a/sysutils/nut-devel/files/patch-drivers_libshut.c b/sysutils/nut-devel/files/patch-drivers_libshut.c deleted file mode 100644 index b925c8948250..000000000000 --- a/sysutils/nut-devel/files/patch-drivers_libshut.c +++ /dev/null @@ -1,23 +0,0 @@ ---- drivers/libshut.c.orig 2015-12-29 12:08:34 UTC -+++ drivers/libshut.c -@@ -37,6 +37,7 @@ - #include "nut_stdint.h" /* for uint8_t, uint16_t, uint32_t */ - - #include "serial.h" -+#include "libusb.h" - #include "libshut.h" - #include "common.h" /* for xmalloc, upsdebugx prototypes */ - -@@ -809,10 +810,10 @@ int shut_get_string_simple(int upsfd, int index, - return ret; - - if (tbuf[1] != USB_DT_STRING) -- return -EIO; -+ return LIBUSB_ERROR_IO; - - if (tbuf[0] > ret) -- return -EFBIG; -+ return LIBUSB_ERROR_OVERFLOW; - - /* skip the UTF8 zero'ed high bytes */ - for (di = 0, si = 2; si < tbuf[0]; si += 2) diff --git a/sysutils/nut-devel/files/patch-drivers_libusb.c b/sysutils/nut-devel/files/patch-drivers_libusb.c deleted file mode 100644 index 743e2440412a..000000000000 --- a/sysutils/nut-devel/files/patch-drivers_libusb.c +++ /dev/null @@ -1,65 +0,0 @@ ---- drivers/libusb.c.orig 2015-12-29 12:08:34 UTC -+++ drivers/libusb.c -@@ -428,26 +428,21 @@ static int libusb_strerror(const int ret, const char * - - switch(ret) - { -- case -EBUSY: /* Device or resource busy */ -- case -EPERM: /* Operation not permitted */ -- 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 -EPIPE: /* Broken pipe */ -- case -ENOSYS: /* Function not implemented */ -+ case LIBUSB_ERROR_BUSY: /* Device or resource busy */ -+ 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 */ -+ case LIBUSB_ERROR_PIPE: /* Broken pipe */ -+ case LIBUSB_ERROR_NOT_SUPPORTED: /* Function not implemented */ - upslogx(LOG_DEBUG, "%s: %s", desc, usb_strerror()); - return ret; - -- case -ETIMEDOUT: /* Connection timed out */ -+ case LIBUSB_ERROR_TIMEOUT: /* Connection timed out */ - upsdebugx(2, "%s: Connection timed out", desc); - return 0; - -- case -EOVERFLOW: /* Value too large for defined data type */ --#ifdef EPROTO -- case -EPROTO: /* Protocol error */ --#endif -+ case LIBUSB_ERROR_OVERFLOW: /* Value too large for defined data type */ - upsdebugx(2, "%s: %s", desc, usb_strerror()); - return 0; - -@@ -478,7 +473,7 @@ static int libusb_get_report(usb_dev_handle *udev, int - 0, raw_buf, ReportSize, USB_TIMEOUT); - - /* Ignore "protocol stall" (for unsupported request) on control endpoint */ -- if (ret == -EPIPE) { -+ if (ret == LIBUSB_ERROR_PIPE) { - return 0; - } - -@@ -500,7 +495,7 @@ static int libusb_set_report(usb_dev_handle *udev, int - 0, raw_buf, ReportSize, USB_TIMEOUT); - - /* Ignore "protocol stall" (for unsupported request) on control endpoint */ -- if (ret == -EPIPE) { -+ if (ret == LIBUSB_ERROR_PIPE) { - return 0; - } - -@@ -532,7 +527,7 @@ static int libusb_get_interrupt(usb_dev_handle *udev, - ret = usb_interrupt_read(udev, 0x81, (char *)buf, bufsize, timeout); - - /* Clear stall condition */ -- if (ret == -EPIPE) { -+ if (ret == LIBUSB_ERROR_PIPE) { - ret = usb_clear_halt(udev, 0x81); - } - diff --git a/sysutils/nut-devel/files/patch-drivers_libusb.h b/sysutils/nut-devel/files/patch-drivers_libusb.h deleted file mode 100644 index bbf53e102eaa..000000000000 --- a/sysutils/nut-devel/files/patch-drivers_libusb.h +++ /dev/null @@ -1,27 +0,0 @@ ---- drivers/libusb.h.orig 2015-12-29 12:08:34 UTC -+++ drivers/libusb.h -@@ -36,6 +36,24 @@ - - #include <usb.h> /* libusb header file */ - -+/* libusb 1.0 errors used by FreeBSD */ -+enum libusb_error { -+ LIBUSB_SUCCESS = 0, -+ LIBUSB_ERROR_IO = -1, -+ LIBUSB_ERROR_INVALID_PARAM = -2, -+ LIBUSB_ERROR_ACCESS = -3, -+ LIBUSB_ERROR_NO_DEVICE = -4, -+ LIBUSB_ERROR_NOT_FOUND = -5, -+ LIBUSB_ERROR_BUSY = -6, -+ LIBUSB_ERROR_TIMEOUT = -7, -+ LIBUSB_ERROR_OVERFLOW = -8, -+ LIBUSB_ERROR_PIPE = -9, -+ LIBUSB_ERROR_INTERRUPTED = -10, -+ LIBUSB_ERROR_NO_MEM = -11, -+ LIBUSB_ERROR_NOT_SUPPORTED = -12, -+ LIBUSB_ERROR_OTHER = -99, -+}; -+ - extern upsdrv_info_t comm_upsdrv_info; - - /*! diff --git a/sysutils/nut-devel/files/patch-drivers_main.h b/sysutils/nut-devel/files/patch-drivers_main.h new file mode 100644 index 000000000000..9b8fa0bb71a1 --- /dev/null +++ b/sysutils/nut-devel/files/patch-drivers_main.h @@ -0,0 +1,10 @@ +--- drivers/main.h.orig 2020-11-13 23:48:39.471828000 -0800 ++++ drivers/main.h 2020-11-13 23:49:42.830476000 -0800 +@@ -1,6 +1,7 @@ + #ifndef MAIN_H + #define MAIN_H + ++#include <sys/errno.h> + #include "common.h" + #include "upsconf.h" + #include "dstate.h" diff --git a/sysutils/nut-devel/files/patch-drivers_nutdrv__qx.c b/sysutils/nut-devel/files/patch-drivers_nutdrv__qx.c deleted file mode 100644 index fc27279f3ec8..000000000000 --- a/sysutils/nut-devel/files/patch-drivers_nutdrv__qx.c +++ /dev/null @@ -1,79 +0,0 @@ ---- drivers/nutdrv_qx.c.orig 2016-03-08 12:01:11 UTC -+++ drivers/nutdrv_qx.c -@@ -561,9 +561,9 @@ static int phoenix_command(const char *cmd, char *buf, - * In order to read correct replies we need to flush the output buffers of the converter until we get no more data (ie, it times out). */ - 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; - } - -@@ -635,7 +635,7 @@ static int ippon_command(const char *cmd, char *buf, s - ret = usb_control_msg(udev, USB_ENDPOINT_OUT + USB_TYPE_CLASS + USB_RECIP_INTERFACE, 0x09, 0x2, 0, &tmp[i], 8, 1000); - - if (ret <= 0) { -- upsdebugx(3, "send: %s (%d)", (ret != -ETIMEDOUT) ? usb_strerror() : "Connection timed out", ret); -+ upsdebugx(3, "send: %s (%d)", (ret != LIBUSB_ERROR_TIMEOUT) ? usb_strerror() : "Connection timed out", ret); - return ret; - } - -@@ -648,7 +648,7 @@ static int ippon_command(const char *cmd, char *buf, s - - /* Any errors here mean that we are unable to read a reply (which will happen after successfully writing a command to the UPS) */ - if (ret <= 0) { -- upsdebugx(3, "read: %s (%d)", (ret != -ETIMEDOUT) ? usb_strerror() : "Connection timed out", ret); -+ upsdebugx(3, "read: %s (%d)", (ret != LIBUSB_ERROR_TIMEOUT) ? usb_strerror() : "Connection timed out", ret); - return ret; - } - -@@ -2124,38 +2124,28 @@ static int qx_command(const char *cmd, char *buf, size - - 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 /* ETIME */ - 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; - } diff --git a/sysutils/nut-devel/files/patch-drivers_riello__usb.c b/sysutils/nut-devel/files/patch-drivers_riello__usb.c deleted file mode 100644 index 759aa91ff62a..000000000000 --- a/sysutils/nut-devel/files/patch-drivers_riello__usb.c +++ /dev/null @@ -1,53 +0,0 @@ ---- drivers/riello_usb.c.orig 2015-12-29 12:08:34 UTC -+++ drivers/riello_usb.c -@@ -346,42 +346,28 @@ int riello_command(uint8_t *cmd, uint8_t *buf, uint16_ - - 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 */ -- upsdebugx (3, "riello_command err: Resource temporarily unavailable"); -- -- -- case -EOVERFLOW: /* Value too large for defined data type */ --#ifdef EPROTO -- case -EPROTO: /* Protocol error */ --#endif -- break; -+ case LIBUSB_ERROR_TIMEOUT: /* Connection timed out */ -+ case LIBUSB_ERROR_OVERFLOW: /* Value too large for defined data type */ - default: - break; - } diff --git a/sysutils/nut-devel/files/patch-drivers_tripplite__usb.c b/sysutils/nut-devel/files/patch-drivers_tripplite__usb.c deleted file mode 100644 index 4c98dfb41c84..000000000000 --- a/sysutils/nut-devel/files/patch-drivers_tripplite__usb.c +++ /dev/null @@ -1,20 +0,0 @@ ---- drivers/tripplite_usb.c.orig 2015-12-29 12:08:34 UTC -+++ drivers/tripplite_usb.c -@@ -499,7 +499,7 @@ void usb_comm_fail(int res, const char *msg) - static int try = 0; - - switch(res) { -- case -EBUSY: -+ case LIBUSB_ERROR_BUSY: - upslogx(LOG_WARNING, "%s: Device claimed by another process", msg); - fatalx(EXIT_FAILURE, "Terminating: EBUSY"); - break; -@@ -907,7 +907,7 @@ void upsdrv_initinfo(void) - if(tl_model != TRIPP_LITE_SMARTPRO ) { - ret = send_cmd(w_msg, sizeof(w_msg), w_value, sizeof(w_value)-1); - if(ret <= 0) { -- if(ret == -EPIPE) { -+ if(ret == LIBUSB_ERROR_PIPE) { - fatalx(EXIT_FAILURE, "Could not reset watchdog. Please check and" - "see if usbhid-ups(8) works with this UPS."); - } else { diff --git a/sysutils/nut-devel/files/patch-drivers_usbhid-ups.c b/sysutils/nut-devel/files/patch-drivers_usbhid-ups.c deleted file mode 100644 index 620b60c0baf1..000000000000 --- a/sysutils/nut-devel/files/patch-drivers_usbhid-ups.c +++ /dev/null @@ -1,74 +0,0 @@ ---- drivers/usbhid-ups.c.orig 2015-12-29 12:08:34 UTC -+++ drivers/usbhid-ups.c -@@ -30,6 +30,7 @@ - #define DRIVER_VERSION "0.41" - - #include "main.h" -+#include "libusb.h" - #include "libhid.h" - #include "usbhid-ups.h" - #include "hidparser.h" -@@ -790,22 +790,14 @@ void upsdrv_updateinfo(void) - /* Get HID notifications on Interrupt pipe first */ - if (use_interrupt_pipe == TRUE) { - evtCount = HIDGetEvents(udev, event, MAX_EVENT_NUM); -- switch (evtCount) -- { -- case -EBUSY: /* Device or resource busy */ -- upslog_with_errno(LOG_CRIT, "Got disconnected by another driver"); -- case -EPERM: /* Operation not permitted */ -- 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 */ -+ if (evtCount < 0) { -+ if (evtCount == LIBUSB_ERROR_BUSY) { -+ upslog_with_errno(LOG_CRIT, "Got disconnected by another driver"); -+ } - /* Uh oh, got to reconnect! */ - hd = NULL; -- return; -- default: -+ } else { - upsdebugx(1, "Got %i HID objects...", (evtCount >= 0) ? evtCount : 0); -- break; - } - } else { - evtCount = 0; -@@ -1280,14 +1272,12 @@ static bool_t hid_ups_walk(walkmode_t mode) - - switch (retcode) - { -- case -EBUSY: /* Device or resource busy */ -+ case LIBUSB_ERROR_BUSY: /* Device or resource busy */ - upslog_with_errno(LOG_CRIT, "Got disconnected by another driver"); -- case -EPERM: /* Operation not permitted */ -- 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! */ - hd = NULL; - return FALSE; -@@ -1298,12 +1288,9 @@ static bool_t hid_ups_walk(walkmode_t mode) - case 0: - continue; - -- case -ETIMEDOUT: /* Connection timed out */ -- case -EOVERFLOW: /* Value too large for defined data type */ --#ifdef EPROTO -- case -EPROTO: /* Protocol error */ --#endif -- case -EPIPE: /* Broken pipe */ -+ case LIBUSB_ERROR_TIMEOUT: /* Connection timed out */ -+ case LIBUSB_ERROR_OVERFLOW: /* Value too large for defined data type */ -+ case LIBUSB_ERROR_PIPE: /* Broken pipe */ - default: - /* Don't know what happened, try again later... */ - continue; diff --git a/sysutils/nut/Makefile b/sysutils/nut/Makefile index 225d49ac29f5..d61d28130526 100644 --- a/sysutils/nut/Makefile +++ b/sysutils/nut/Makefile @@ -3,7 +3,7 @@ PORTNAME= nut PORTVERSION= 2.7.4 -PORTREVISION= 17 +PORTREVISION= 18 CATEGORIES= sysutils MASTER_SITES= http://www.networkupstools.org/source/${PORTVERSION:R}/ DISTFILES= ${DISTNAME}${EXTRACT_SUFX} diff --git a/sysutils/nut/files/patch-drivers_blazer__usb.c b/sysutils/nut/files/patch-drivers_blazer__usb.c deleted file mode 100644 index ccb0be8a0fb3..000000000000 --- a/sysutils/nut/files/patch-drivers_blazer__usb.c +++ /dev/null @@ -1,79 +0,0 @@ ---- 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; - } diff --git a/sysutils/nut/files/patch-drivers_libshut.c b/sysutils/nut/files/patch-drivers_libshut.c deleted file mode 100644 index b925c8948250..000000000000 --- a/sysutils/nut/files/patch-drivers_libshut.c +++ /dev/null @@ -1,23 +0,0 @@ ---- drivers/libshut.c.orig 2015-12-29 12:08:34 UTC -+++ drivers/libshut.c -@@ -37,6 +37,7 @@ - #include "nut_stdint.h" /* for uint8_t, uint16_t, uint32_t */ - - #include "serial.h" -+#include "libusb.h" - #include "libshut.h" - #include "common.h" /* for xmalloc, upsdebugx prototypes */ - -@@ -809,10 +810,10 @@ int shut_get_string_simple(int upsfd, int index, - return ret; - - if (tbuf[1] != USB_DT_STRING) -- return -EIO; -+ return LIBUSB_ERROR_IO; - - if (tbuf[0] > ret) -- return -EFBIG; -+ return LIBUSB_ERROR_OVERFLOW; - - /* skip the UTF8 zero'ed high bytes */ - for (di = 0, si = 2; si < tbuf[0]; si += 2) diff --git a/sysutils/nut/files/patch-drivers_libusb.c b/sysutils/nut/files/patch-drivers_libusb.c deleted file mode 100644 index 743e2440412a..000000000000 --- a/sysutils/nut/files/patch-drivers_libusb.c +++ /dev/null @@ -1,65 +0,0 @@ ---- drivers/libusb.c.orig 2015-12-29 12:08:34 UTC -+++ drivers/libusb.c -@@ -428,26 +428,21 @@ static int libusb_strerror(const int ret, const char * - - switch(ret) - { -- case -EBUSY: /* Device or resource busy */ -- case -EPERM: /* Operation not permitted */ -- 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 -EPIPE: /* Broken pipe */ -- case -ENOSYS: /* Function not implemented */ -+ case LIBUSB_ERROR_BUSY: /* Device or resource busy */ -+ 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 */ -+ case LIBUSB_ERROR_PIPE: /* Broken pipe */ -+ case LIBUSB_ERROR_NOT_SUPPORTED: /* Function not implemented */ - upslogx(LOG_DEBUG, "%s: %s", desc, usb_strerror()); - return ret; - -- case -ETIMEDOUT: /* Connection timed out */ -+ case LIBUSB_ERROR_TIMEOUT: /* Connection timed out */ - upsdebugx(2, "%s: Connection timed out", desc); - return 0; - -- case -EOVERFLOW: /* Value too large for defined data type */ --#ifdef EPROTO -- case -EPROTO: /* Protocol error */ --#endif -+ case LIBUSB_ERROR_OVERFLOW: /* Value too large for defined data type */ - upsdebugx(2, "%s: %s", desc, usb_strerror()); - return 0; - -@@ -478,7 +473,7 @@ static int libusb_get_report(usb_dev_handle *udev, int - 0, raw_buf, ReportSize, USB_TIMEOUT); - - /* Ignore "protocol stall" (for unsupported request) on control endpoint */ -- if (ret == -EPIPE) { -+ if (ret == LIBUSB_ERROR_PIPE) { - return 0; - } - -@@ -500,7 +495,7 @@ static int libusb_set_report(usb_dev_handle *udev, int - 0, raw_buf, ReportSize, USB_TIMEOUT); - - /* Ignore "protocol stall" (for unsupported request) on control endpoint */ -- if (ret == -EPIPE) { -+ if (ret == LIBUSB_ERROR_PIPE) { - return 0; - } - -@@ -532,7 +527,7 @@ static int libusb_get_interrupt(usb_dev_handle *udev, - ret = usb_interrupt_read(udev, 0x81, (char *)buf, bufsize, timeout); - - /* Clear stall condition */ -- if (ret == -EPIPE) { -+ if (ret == LIBUSB_ERROR_PIPE) { - ret = usb_clear_halt(udev, 0x81); - } - diff --git a/sysutils/nut/files/patch-drivers_libusb.h b/sysutils/nut/files/patch-drivers_libusb.h deleted file mode 100644 index bbf53e102eaa..000000000000 --- a/sysutils/nut/files/patch-drivers_libusb.h +++ /dev/null @@ -1,27 +0,0 @@ ---- drivers/libusb.h.orig 2015-12-29 12:08:34 UTC -+++ drivers/libusb.h -@@ -36,6 +36,24 @@ - - #include <usb.h> /* libusb header file */ - -+/* libusb 1.0 errors used by FreeBSD */ -+enum libusb_error { -+ LIBUSB_SUCCESS = 0, -+ LIBUSB_ERROR_IO = -1, -+ LIBUSB_ERROR_INVALID_PARAM = -2, -+ LIBUSB_ERROR_ACCESS = -3, -+ LIBUSB_ERROR_NO_DEVICE = -4, -+ LIBUSB_ERROR_NOT_FOUND = -5, -+ LIBUSB_ERROR_BUSY = -6, -+ LIBUSB_ERROR_TIMEOUT = -7, -+ LIBUSB_ERROR_OVERFLOW = -8, -+ LIBUSB_ERROR_PIPE = -9, -+ LIBUSB_ERROR_INTERRUPTED = -10, -+ LIBUSB_ERROR_NO_MEM = -11, -+ LIBUSB_ERROR_NOT_SUPPORTED = -12, -+ LIBUSB_ERROR_OTHER = -99, -+}; -+ - extern upsdrv_info_t comm_upsdrv_info; - - /*! diff --git a/sysutils/nut/files/patch-drivers_main.h b/sysutils/nut/files/patch-drivers_main.h new file mode 100644 index 000000000000..3977e160cc43 --- /dev/null +++ b/sysutils/nut/files/patch-drivers_main.h @@ -0,0 +1,10 @@ +--- drivers/main.h.orig 2015-12-29 04:08:34.000000000 -0800 ++++ drivers/main.h 2020-11-13 23:40:47.007315000 -0800 +@@ -1,6 +1,7 @@ + #ifndef MAIN_H + #define MAIN_H + ++#include <sys/param.h> + #include "common.h" + #include "upsconf.h" + #include "dstate.h" diff --git a/sysutils/nut/files/patch-drivers_nutdrv__qx.c b/sysutils/nut/files/patch-drivers_nutdrv__qx.c deleted file mode 100644 index fc27279f3ec8..000000000000 --- a/sysutils/nut/files/patch-drivers_nutdrv__qx.c +++ /dev/null @@ -1,79 +0,0 @@ ---- drivers/nutdrv_qx.c.orig 2016-03-08 12:01:11 UTC -+++ drivers/nutdrv_qx.c -@@ -561,9 +561,9 @@ static int phoenix_command(const char *cmd, char *buf, - * In order to read correct replies we need to flush the output buffers of the converter until we get no more data (ie, it times out). */ - 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; - } - -@@ -635,7 +635,7 @@ static int ippon_command(const char *cmd, char *buf, s - ret = usb_control_msg(udev, USB_ENDPOINT_OUT + USB_TYPE_CLASS + USB_RECIP_INTERFACE, 0x09, 0x2, 0, &tmp[i], 8, 1000); - - if (ret <= 0) { -- upsdebugx(3, "send: %s (%d)", (ret != -ETIMEDOUT) ? usb_strerror() : "Connection timed out", ret); -+ upsdebugx(3, "send: %s (%d)", (ret != LIBUSB_ERROR_TIMEOUT) ? usb_strerror() : "Connection timed out", ret); - return ret; - } - -@@ -648,7 +648,7 @@ static int ippon_command(const char *cmd, char *buf, s - - /* Any errors here mean that we are unable to read a reply (which will happen after successfully writing a command to the UPS) */ - if (ret <= 0) { -- upsdebugx(3, "read: %s (%d)", (ret != -ETIMEDOUT) ? usb_strerror() : "Connection timed out", ret); -+ upsdebugx(3, "read: %s (%d)", (ret != LIBUSB_ERROR_TIMEOUT) ? usb_strerror() : "Connection timed out", ret); - return ret; - } - -@@ -2124,38 +2124,28 @@ static int qx_command(const char *cmd, char *buf, size - - 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 /* ETIME */ - 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; - } diff --git a/sysutils/nut/files/patch-drivers_riello__usb.c b/sysutils/nut/files/patch-drivers_riello__usb.c deleted file mode 100644 index 759aa91ff62a..000000000000 --- a/sysutils/nut/files/patch-drivers_riello__usb.c +++ /dev/null @@ -1,53 +0,0 @@ ---- drivers/riello_usb.c.orig 2015-12-29 12:08:34 UTC -+++ drivers/riello_usb.c -@@ -346,42 +346,28 @@ int riello_command(uint8_t *cmd, uint8_t *buf, uint16_ - - 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 */ -- upsdebugx (3, "riello_command err: Resource temporarily unavailable"); -- -- -- case -EOVERFLOW: /* Value too large for defined data type */ --#ifdef EPROTO -- case -EPROTO: /* Protocol error */ --#endif -- break; -+ case LIBUSB_ERROR_TIMEOUT: /* Connection timed out */ -+ case LIBUSB_ERROR_OVERFLOW: /* Value too large for defined data type */ - default: - break; - } diff --git a/sysutils/nut/files/patch-drivers_tripplite__usb.c b/sysutils/nut/files/patch-drivers_tripplite__usb.c deleted file mode 100644 index 4c98dfb41c84..000000000000 --- a/sysutils/nut/files/patch-drivers_tripplite__usb.c +++ /dev/null @@ -1,20 +0,0 @@ ---- drivers/tripplite_usb.c.orig 2015-12-29 12:08:34 UTC -+++ drivers/tripplite_usb.c -@@ -499,7 +499,7 @@ void usb_comm_fail(int res, const char *msg) - static int try = 0; - - switch(res) { -- case -EBUSY: -+ case LIBUSB_ERROR_BUSY: - upslogx(LOG_WARNING, "%s: Device claimed by another process", msg); - fatalx(EXIT_FAILURE, "Terminating: EBUSY"); - break; -@@ -907,7 +907,7 @@ void upsdrv_initinfo(void) - if(tl_model != TRIPP_LITE_SMARTPRO ) { - ret = send_cmd(w_msg, sizeof(w_msg), w_value, sizeof(w_value)-1); - if(ret <= 0) { -- if(ret == -EPIPE) { -+ if(ret == LIBUSB_ERROR_PIPE) { - fatalx(EXIT_FAILURE, "Could not reset watchdog. Please check and" - "see if usbhid-ups(8) works with this UPS."); - } else { diff --git a/sysutils/nut/files/patch-drivers_usbhid-ups.c b/sysutils/nut/files/patch-drivers_usbhid-ups.c deleted file mode 100644 index 620b60c0baf1..000000000000 --- a/sysutils/nut/files/patch-drivers_usbhid-ups.c +++ /dev/null @@ -1,74 +0,0 @@ ---- drivers/usbhid-ups.c.orig 2015-12-29 12:08:34 UTC -+++ drivers/usbhid-ups.c -@@ -30,6 +30,7 @@ - #define DRIVER_VERSION "0.41" - - #include "main.h" -+#include "libusb.h" - #include "libhid.h" - #include "usbhid-ups.h" - #include "hidparser.h" -@@ -790,22 +790,14 @@ void upsdrv_updateinfo(void) - /* Get HID notifications on Interrupt pipe first */ - if (use_interrupt_pipe == TRUE) { - evtCount = HIDGetEvents(udev, event, MAX_EVENT_NUM); -- switch (evtCount) -- { -- case -EBUSY: /* Device or resource busy */ -- upslog_with_errno(LOG_CRIT, "Got disconnected by another driver"); -- case -EPERM: /* Operation not permitted */ -- 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 */ -+ if (evtCount < 0) { -+ if (evtCount == LIBUSB_ERROR_BUSY) { -+ upslog_with_errno(LOG_CRIT, "Got disconnected by another driver"); -+ } - /* Uh oh, got to reconnect! */ - hd = NULL; -- return; -- default: -+ } else { - upsdebugx(1, "Got %i HID objects...", (evtCount >= 0) ? evtCount : 0); -- break; - } - } else { - evtCount = 0; -@@ -1280,14 +1272,12 @@ static bool_t hid_ups_walk(walkmode_t mode) - - switch (retcode) - { -- case -EBUSY: /* Device or resource busy */ -+ case LIBUSB_ERROR_BUSY: /* Device or resource busy */ - upslog_with_errno(LOG_CRIT, "Got disconnected by another driver"); -- case -EPERM: /* Operation not permitted */ -- 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! */ - hd = NULL; - return FALSE; -@@ -1298,12 +1288,9 @@ static bool_t hid_ups_walk(walkmode_t mode) - case 0: - continue; - -- case -ETIMEDOUT: /* Connection timed out */ -- case -EOVERFLOW: /* Value too large for defined data type */ --#ifdef EPROTO -- case -EPROTO: /* Protocol error */ --#endif -- case -EPIPE: /* Broken pipe */ -+ case LIBUSB_ERROR_TIMEOUT: /* Connection timed out */ -+ case LIBUSB_ERROR_OVERFLOW: /* Value too large for defined data type */ -+ case LIBUSB_ERROR_PIPE: /* Broken pipe */ - default: - /* Don't know what happened, try again later... */ - continue; |