From 9df5f6859035829e3462fb25b6d01448b02c02b6 Mon Sep 17 00:00:00 2001 From: Nick Chan Date: Tue, 14 Feb 2023 01:36:16 +0800 Subject: [PATCH] silence some more USB errors on boot --- include/palerain.h | 4 +++- src/pongo_helper.c | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/include/palerain.h b/include/palerain.h index fb69005..26686ff 100644 --- a/include/palerain.h +++ b/include/palerain.h @@ -31,6 +31,7 @@ #define USB_RET_SUCCESS LIBUSB_SUCCESS #define USB_RET_NOT_RESPONDING LIBUSB_ERROR_OTHER #define USB_RET_IO LIBUSB_ERROR_IO +#define USB_RET_NO_DEVICE LIBUSB_ERROR_NO_DEVICE typedef int usb_ret_t; typedef libusb_device_handle *usb_device_handle_t; @@ -51,7 +52,8 @@ usb_ret_t USBBulkUpload(usb_device_handle_t handle, void *data, int len); #define USB_RET_SUCCESS KERN_SUCCESS #define USB_RET_NOT_RESPONDING kIOReturnNotResponding -#define USB_RET_IO kIOReturnNotResponding +#define USB_RET_IO kIOReturnNotReady +#define USB_RET_NO_DEVICE kIOReturnNoDevice typedef IOReturn usb_ret_t; typedef IOUSBInterfaceInterface245 **usb_device_handle_t; diff --git a/src/pongo_helper.c b/src/pongo_helper.c index c48a7c9..161f2ce 100644 --- a/src/pongo_helper.c +++ b/src/pongo_helper.c @@ -129,10 +129,10 @@ fetch_output: bad: if (ret != USB_RET_SUCCESS) { - if (ret == USB_RET_NOT_RESPONDING) - return 0; - if (command != NULL && (!strncmp("boot", command, 4) && ret == USB_RET_IO)) - return 0; + if (command != NULL && (!strncmp("boot", command, 4))) { + if (ret == USB_RET_IO || ret == USB_RET_NO_DEVICE || ret == USB_RET_NOT_RESPONDING) + return 0; + } LOG(LOG_ERROR, "USB error: %s", usb_strerror(ret)); return ret; }