3c59x: Add dma error checking and recovery
authorNeil Horman <nhorman@tuxdriver.com>
Wed, 17 Sep 2014 13:04:44 +0000 (09:04 -0400)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Sep 2014 20:28:57 +0000 (16:28 -0400)
commit6f2b6a3005b2c34c39f207a87667564f64f2f91a
treee3c52b316f3920596359191cd51a114f8960563e
parentf6f2332dce0efeea8c5653b6e9d1e8c379ace65c
3c59x: Add dma error checking and recovery

Noted that 3c59x has no checks on transmit for failed DMA mappings, and no
ability to unmap fragments when a single map fails in the middle of a transmit.
This patch provides error checking to ensure that dma mappings work properly,
and unrolls an skb mapping if a fragmented skb transmission has a mapping
failure to prevent leaks.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
CC: Linux Kernel list <linux-kernel@vger.kernel.org>
CC: "David S. Miller" <davem@davemloft.net>
CC: Meelis Roos <mroos@linux.ee>
Tested-by: Meelis Roos <mroos@linux.ee>
drivers/net/ethernet/3com/3c59x.c