diff options
author | Tom Bereknyei <tom@dds.mil> | 2017-09-10 14:53:56 -0400 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2017-09-28 17:49:39 -0700 |
commit | 2761c5a914b52d87f3d8cc903f0cee2e4fbf8d52 (patch) | |
tree | 0d93b5b5c56f1d18c43a15de4799337d7b44b1b8 | |
parent | 1cd96ddefe415dd0184edb61f5a9f425d0b42cbf (diff) | |
download | uhd-2761c5a914b52d87f3d8cc903f0cee2e4fbf8d52.tar.gz uhd-2761c5a914b52d87f3d8cc903f0cee2e4fbf8d52.tar.bz2 uhd-2761c5a914b52d87f3d8cc903f0cee2e4fbf8d52.zip |
rfnoc: Do not pop a sequence number early
The ctrl_iface class will assume that a response packet is available.
There are cases where no response packet is available, in which case
sequence numbers should not get popped from the stack prematurely.
-rw-r--r-- | host/lib/rfnoc/ctrl_iface.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/host/lib/rfnoc/ctrl_iface.cpp b/host/lib/rfnoc/ctrl_iface.cpp index 3a16f7ec1..6c2586ebd 100644 --- a/host/lib/rfnoc/ctrl_iface.cpp +++ b/host/lib/rfnoc/ctrl_iface.cpp @@ -183,7 +183,6 @@ private: //get seq to ack from outstanding packets list UHD_ASSERT_THROW(not _outstanding_seqs.empty()); const size_t seq_to_ack = _outstanding_seqs.front(); - _outstanding_seqs.pop(); //parse the packet vrt::if_packet_info_t packet_info; @@ -196,6 +195,7 @@ private: try { UHD_ASSERT_THROW(bool(buff)); UHD_ASSERT_THROW(buff->size() > 0); + _outstanding_seqs.pop(); } catch(const std::exception &ex) { throw uhd::io_error(str(boost::format("Block ctrl (%s) no response packet - %s") % _name % ex.what())); |