summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDidier Raboud <odyx@debian.org>2021-06-04 10:49:47 +0200
committerDidier Raboud <odyx@debian.org>2021-06-04 10:49:47 +0200
commit455c81cf14f157b0e7e5379834099a597e0bbf67 (patch)
tree95829a04c8d7f0d602e3e3c83f9223fa086e1d4a
parent8c028f6290ecbf7ec2ee0a0d94e548ff57240524 (diff)
parentf6a71b481c7b093762080d6d6fe2d73948c9c1d5 (diff)
Update to upstream 0.9.19
[git-debrebase anchor: new upstream 0.9.19, merge]
-rw-r--r--usbtransport.go12
1 files changed, 7 insertions, 5 deletions
diff --git a/usbtransport.go b/usbtransport.go
index 8402c7d..4c98660 100644
--- a/usbtransport.go
+++ b/usbtransport.go
@@ -619,15 +619,17 @@ func (conn *usbConn) Read(b []byte) (int, error) {
// Note, to avoid LIBUSB_TRANSFER_OVERFLOW errors
// from libusb, input buffer size must always
- // be aligned by 512 bytes
+ // be aligned by 1024 bytes for USB 3.0, 512 bytes
+ // for USB 2.0, so 1024 bytes alignment is safe for
+ // both
//
- // However if caller requests less that 512 bytes, we
+ // However if caller requests less that 1024 bytes, we
// can't align here simply by shrinking the buffer,
// because it will result a zero-size buffer. At
- // this case we assume caller knows what it
+ // this case we assume caller knows what it is
// doing (actually bufio never behaves this way)
- if n := len(b); n >= 512 {
- n &= ^511
+ if n := len(b); n >= 1024 {
+ n &= ^1023
b = b[0:n]
}