summaryrefslogtreecommitdiffstats
path: root/drivers/net/dl2k.c
diff options
context:
space:
mode:
authorStanislaw Gruszka <sgruszka@redhat.com>2011-01-26 01:45:42 +0100
committerDavid S. Miller <davem@davemloft.net>2011-01-27 23:18:34 +0100
commit9eb710797a21fa4a9e09ae9c86c4b3ec9d291c2d (patch)
tree30d24bd2bcd5fe111a3c9037eb878ff0cc0fc5cc /drivers/net/dl2k.c
parentxen: netfront: handle incoming GSO SKBs which are not CHECKSUM_PARTIAL (diff)
downloadlinux-9eb710797a21fa4a9e09ae9c86c4b3ec9d291c2d.tar.xz
linux-9eb710797a21fa4a9e09ae9c86c4b3ec9d291c2d.zip
dl2k: nulify fraginfo after unmap
Patch fixes: "DMA-API: device driver tries to free an invalid DMA memory address" warning reported here: https://bugzilla.redhat.com/show_bug.cgi?id=639824 Reported-by: Frantisek Hanzlik <franta@hanzlici.cz> Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--drivers/net/dl2k.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/dl2k.c b/drivers/net/dl2k.c
index e1a8216ff692..c05db6046050 100644
--- a/drivers/net/dl2k.c
+++ b/drivers/net/dl2k.c
@@ -1753,8 +1753,6 @@ rio_close (struct net_device *dev)
/* Free all the skbuffs in the queue. */
for (i = 0; i < RX_RING_SIZE; i++) {
- np->rx_ring[i].status = 0;
- np->rx_ring[i].fraginfo = 0;
skb = np->rx_skbuff[i];
if (skb) {
pci_unmap_single(np->pdev,
@@ -1763,6 +1761,8 @@ rio_close (struct net_device *dev)
dev_kfree_skb (skb);
np->rx_skbuff[i] = NULL;
}
+ np->rx_ring[i].status = 0;
+ np->rx_ring[i].fraginfo = 0;
}
for (i = 0; i < TX_RING_SIZE; i++) {
skb = np->tx_skbuff[i];