David L Stevens 8e2b60cd18 sunvnet: improve error handling when a remote crashes
If a remote machine crashes while there are pending transmit buffers, the
sunvnet driver reallocates the ring descriptors giving us enries that have
state VIO_DESC_FREE but also an allocated skb. This results in a BUG_ON()
call when the remote reboots and we reach that point in the ring.

This patch:

1) clears pending tx packets in the ring on port reset
2) changes a BUG_ON() to a pr_warn() when a remote host has given us an invalid
	descriptor state
3) collapses multiple active buffer frees in a ring to a single message per
	ring and adds the device name and remote MAC address

This fixes the particular problem of not cleaning up pending buffers on a
reset, but also prevents us from crashing if the remote handles descriptors
out of order or sets an unexpected state for a descriptor.

Signed-off-by: David L Stevens <david.stevens@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-01-27 00:25:21 -08:00
..
2015-01-18 00:28:41 -05:00
2015-01-08 09:02:23 -07:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:43:47 -08:00
2014-12-14 16:10:09 -08:00
2014-12-15 18:06:13 -08:00
2014-12-14 16:10:09 -08:00
2014-12-17 09:59:26 -08:00
2014-12-19 12:57:45 -08:00
2014-12-17 09:59:26 -08:00
2014-12-16 14:53:01 -08:00
2014-12-18 20:24:55 -08:00
2014-12-17 10:10:51 -08:00
2014-12-29 13:24:38 -08:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2015-01-19 15:30:02 -05:00
2014-11-24 07:45:25 +01:00
2014-12-14 16:43:47 -08:00
2014-12-20 13:42:57 -08:00
2014-12-30 11:18:30 +02:00
2014-12-14 16:43:47 -08:00
2014-12-15 18:06:13 -08:00