diff options
author | David L Stevens <david.stevens@oracle.com> | 2015-01-26 15:54:27 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-01-27 00:25:21 -0800 |
commit | 8e2b60cd18381a2f102dc6157ea2481a9ddd0001 (patch) | |
tree | 08a04d624d6b289fa51570c462c7b5ae7a102a6c /tools/perf/scripts/python | |
parent | 07ac3e7099b5788ee4b78233c96532c6209a304b (diff) |
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>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions