diff options
| -rw-r--r-- | host/lib/transport/super_recv_packet_handler.hpp | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/host/lib/transport/super_recv_packet_handler.hpp b/host/lib/transport/super_recv_packet_handler.hpp index ea6143f89..28adff0d1 100644 --- a/host/lib/transport/super_recv_packet_handler.hpp +++ b/host/lib/transport/super_recv_packet_handler.hpp @@ -427,6 +427,12 @@ private:          const size_t expected_packet_count = _props[index].packet_count;          _props[index].packet_count = (info.ifpi.packet_count + 1) & seq_mask;          if (expected_packet_count != info.ifpi.packet_count){ +            if (_props[index].handle_flowctrl) { +                // Always update flow control in this case, because we don't +                // know which packet was dropped and what state the upstream +                // flow control is in. +                _props[index].handle_flowctrl(info.ifpi.packet_count); +            }              return PACKET_SEQUENCE_ERROR;          }          #endif | 
