> Date: Sun, 3 May 2015 02:38:12 -0700 > From: Bryan Linton <[email protected]> > > The key difference is the following two lines. The first wedged, > the second unwedged: > em0 2048 2 2 256 2 > em0 2048 4 2 256 4 > > It seems like the em0 line always shows the latter line, so I'm hoping > this indicates something useful.
I believe em(4) needs at least 4 descriptors on its rx ring. If you fall below that limit (which can happen if the CPU is busy), the card stops receiving packets. I believe em(4) is supposed to get an interrupt for dropped packets and will attempt to refill the ring if it receives such an interrupt. It seems that mechanism isn't working for your card. Perhaps the usual workaround of using a timeout should be added to the driver.
