diff options
author | Johannes Walter <johannes.walter@ettus.com> | 2015-07-17 12:05:37 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2015-08-13 14:35:09 -0700 |
commit | 57fe541c9644e7488498d2c0311e38cf4564ec69 (patch) | |
tree | 5810565df90f7c05a0c0c38470b4dc41b6605073 | |
parent | 9353d16391a1923be32f861e9810d1f271608721 (diff) | |
download | uhd-57fe541c9644e7488498d2c0311e38cf4564ec69.tar.gz uhd-57fe541c9644e7488498d2c0311e38cf4564ec69.tar.bz2 uhd-57fe541c9644e7488498d2c0311e38cf4564ec69.zip |
Transport: Update flow control on overruns
X300 stops sending packets when too many overruns occur. This presumably
happens due to a lock up in the source flow control. In this patch we
force a flow control update every time an overrun occurs.
-rw-r--r-- | host/lib/transport/super_recv_packet_handler.hpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/host/lib/transport/super_recv_packet_handler.hpp b/host/lib/transport/super_recv_packet_handler.hpp index c3c2b8e97..0f1f7ff3a 100644 --- a/host/lib/transport/super_recv_packet_handler.hpp +++ b/host/lib/transport/super_recv_packet_handler.hpp @@ -560,6 +560,11 @@ private: _props[index].handle_overflow(); curr_info.metadata = metadata; UHD_MSG(fastpath) << "O"; + + // Not sending flow control would cause timeouts due to source flow control locking up + if(_props[index].handle_flowctrl) { + _props[index].handle_flowctrl(next_info[index].ifpi.packet_count); + } } return; |