From eadba57d53f6512a15ac86f18713c18491175ac4 Mon Sep 17 00:00:00 2001 From: Amaury Pouly Date: Tue, 17 Jan 2017 11:32:50 +0100 Subject: hwstub: fix long transfers failing because of control xfer size of libusb libusb limits control transfer sizes to 4k, see diff for details. Change-Id: Id2e638010274009ea641d06e9040a8b9ab9d54a9 --- utils/hwstub/include/hwstub_usb.hpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'utils/hwstub/include/hwstub_usb.hpp') diff --git a/utils/hwstub/include/hwstub_usb.hpp b/utils/hwstub/include/hwstub_usb.hpp index 15a0fcaaec..579594067c 100644 --- a/utils/hwstub/include/hwstub_usb.hpp +++ b/utils/hwstub/include/hwstub_usb.hpp @@ -101,6 +101,10 @@ public: void set_timeout(std::chrono::milliseconds ms); protected: + /* return the maximum size of a libusb control transfer, this is a "known" + * limitation that is completely undocumented (sigh) and applies at least + * to linux and windows hosts */ + size_t max_libusb_control_xfer_size() const; /* interpret libusb error: >=0 means SUCCESS, others are treated as errors, * LIBUSB_ERROR_NO_DEVICE is treated as DISCONNECTED */ error interpret_libusb_error(int err); -- cgit v1.2.3