diff options
author | Harald Welte <laforge@osmocom.org> | 2020-09-01 09:36:04 +0200 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2020-09-01 09:37:33 +0200 |
commit | 51e12ad60315c2447050ecf97a4a4894777a7fd1 (patch) | |
tree | be2a89be4f36855cb011d96f03a59a12350e427c | |
parent | 569726a72fd121481c9a52a49fe592e240c9e66c (diff) |
usb: Don't pass negative length values to e1_line_demux_in()
every so often, the USB transfer completes without data (due to
"unlucky" time alignment between E1 and USB frame clock). Don't
call the demuxer in that case.
Otherwise the user is confused by error messages like
<0001> intf_line.c:467 (I0:L0) IN ERROR: -4
Change-Id: Ia99f97c2cca44d15a83a54cebe884b343ec44f46
-rw-r--r-- | src/usb.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -107,6 +107,8 @@ struct e1_usb_flow { static int e1_usb_xfer_in(struct e1_usb_flow *flow, uint8_t *buf, int size) { + if (size == 0) + return 0; return e1_line_demux_in(flow->line, buf + 4, size - 4); } |