From 57fe541c9644e7488498d2c0311e38cf4564ec69 Mon Sep 17 00:00:00 2001 From: Johannes Walter Date: Fri, 17 Jul 2015 12:05:37 -0700 Subject: 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. --- host/lib/transport/super_recv_packet_handler.hpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'host/lib/transport/super_recv_packet_handler.hpp') 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; -- cgit v1.2.3