Open
Description
As the system relies on events to progress, if an event should not come the whole thing can stop. Now imagine that buffer limits prevents putting a packet into RX ring. What follows is breaking and then coming back later. If you break enough times the RX ring can actually become empty, and in that case the RX queue will never be signalled from the host, and never refilled.
One more involved solution is to hook an event from bufferstore to the driver, that lets you refill RX immediately when packets are available.