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