linux/drivers/net/ethernet/sun
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
..
cassini.c net: cassini: Deletion of an unnecessary check before the function call "vfree" 2014-12-05 21:14:19 -08:00
cassini.h ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
Kconfig Merge branch 'akpm' (incoming from Andrew) 2013-02-21 17:38:49 -08:00
Makefile
niu.c niu: remove one compound_head() call 2015-01-17 23:58:37 -05:00
niu.h
sunbmac.c net: ethernet: sun: drop owner assignment from platform_drivers 2014-10-20 16:21:13 +02:00
sunbmac.h
sungem.c sungem: Fix global namespace pollution of phy accessors. 2014-08-27 23:07:12 -07:00
sungem.h
sunhme.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sunhme.h sunhme: stop using net_device.{base_addr, irq}. 2012-04-07 11:47:03 +02:00
sunqe.c net: ethernet: sun: drop owner assignment from platform_drivers 2014-10-20 16:21:13 +02:00
sunqe.h
sunvnet.c sunvnet: improve error handling when a remote crashes 2015-01-27 00:25:21 -08:00
sunvnet.h sunvnet: add TSO support 2014-12-08 21:19:04 -05:00