On Windows, RAW_IO WinUsb pipe policy should be enabled by default
Related bug: http://sigrok.org/bugzilla/show_bug.cgi?id=573

Signed-off-by: Vlad Ivanov <vlad-...@ya.ru>
---
 cross-compile/mingw/libusb_raw_io.patch | 31 +++++++++++++++++++++++++++++++
 cross-compile/mingw/sigrok-cross-mingw  |  2 ++
 2 files changed, 33 insertions(+)
 create mode 100644 cross-compile/mingw/libusb_raw_io.patch

diff --git a/cross-compile/mingw/libusb_raw_io.patch 
b/cross-compile/mingw/libusb_raw_io.patch
new file mode 100644
index 0000000..6cdeb0c
--- /dev/null
+++ b/cross-compile/mingw/libusb_raw_io.patch
@@ -0,0 +1,31 @@
+From d4f7a49d77bd8f4ac871a999fc9ec898cb22b8c3 Mon Sep 17 00:00:00 2001
+From: Vlad Ivanov <vlad-...@ya.ru>
+Date: Tue, 9 Feb 2016 10:35:23 +0300
+Subject: [PATCH] windows_usb: enable RAW_IO policy by default
+
+libusb should set RAW_IO policy unconditionally because it
+implements the buffer management itself.
+
+Signed-off-by: Vlad Ivanov <vlad-...@ya.ru>
+---
+ libusb/os/windows_usb.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/libusb/os/windows_usb.c b/libusb/os/windows_usb.c
+index 6640ad5..12fdab0 100644
+--- a/libusb/os/windows_usb.c
++++ b/libusb/os/windows_usb.c
+@@ -2890,6 +2890,10 @@ static int winusbx_configure_endpoints(int sub_api, 
struct libusb_device_handle
+                       AUTO_CLEAR_STALL, sizeof(UCHAR), &policy)) {
+                       usbi_dbg("failed to enable AUTO_CLEAR_STALL for 
endpoint %02X", endpoint_address);
+               }
++              if (!WinUSBX[sub_api].SetPipePolicy(winusb_handle, 
endpoint_address,
++                      RAW_IO, sizeof(UCHAR), &policy)) {
++                      usbi_dbg("failed to enable RAW_IO for endpoint %02X", 
endpoint_address);
++              }
+       }
+ 
+       return LIBUSB_SUCCESS;
+-- 
+2.5.0
+
diff --git a/cross-compile/mingw/sigrok-cross-mingw 
b/cross-compile/mingw/sigrok-cross-mingw
index 8b30158..9fa9866 100755
--- a/cross-compile/mingw/sigrok-cross-mingw
+++ b/cross-compile/mingw/sigrok-cross-mingw
@@ -54,6 +54,7 @@ GIT_CLONE="git clone --depth=1"
 export PATH=$MXE/usr/bin:$PATH
 
 TOOLCHAIN_TRIPLET="$TARGET-w64-mingw32.static.posix"
+SIGROK_CROSS_PATH=`pwd`
 
 P="$PREFIX/lib/pkgconfig"
 P2="$MXE/usr/$TOOLCHAIN_TRIPLET/lib/pkgconfig"
@@ -117,6 +118,7 @@ $WGET http://zadig.akeo.ie/downloads/zadig_xp.exe -O 
$PREFIX/zadig_xp.exe
 # libusb
 $GIT_CLONE git://github.com/dickens/libusb -b event-abstraction-v4
 cd libusb
+git am < $SIGROK_CROSS_PATH/libusb_raw_io.patch
 ./bootstrap.sh
 ./configure $C $L
 make -j1 $V
-- 
2.5.0


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to