aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Bereknyei <tom@dds.mil>2017-09-10 14:53:56 -0400
committerMartin Braun <martin.braun@ettus.com>2017-09-28 17:49:39 -0700
commit2761c5a914b52d87f3d8cc903f0cee2e4fbf8d52 (patch)
tree0d93b5b5c56f1d18c43a15de4799337d7b44b1b8
parent1cd96ddefe415dd0184edb61f5a9f425d0b42cbf (diff)
downloaduhd-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.cpp2
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()));