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;  | 
