summaryrefslogtreecommitdiff
path: root/drivers/net/mlx4
diff options
context:
space:
mode:
authorYevgeny Petrilin <yevgenyp@mellanox.co.il>2009-08-03 03:22:18 (GMT)
committerDavid S. Miller <davem@davemloft.net>2009-08-03 03:22:18 (GMT)
commiteb4ad826419ab5b1260bc1625249114767d36bea (patch)
tree456a5d1386cc8daf59377da886240048907c1949 /drivers/net/mlx4
parentb564afcfb82fe3e63a7ce05a944eb5e11244d7cb (diff)
downloadlinux-fsl-qoriq-eb4ad826419ab5b1260bc1625249114767d36bea.tar.xz
mlx4_en: Fix double pci unmapping.
In cases of fragmented skb, with the data pointers being wrapped around the TX buffer, the completion handling code would not forward the data pointer and the firs fragment was unmapped several times, while others were not unmapped at all. Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/mlx4')
-rw-r--r--drivers/net/mlx4/en_tx.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/mlx4/en_tx.c b/drivers/net/mlx4/en_tx.c
index 08c43f2..5a88b3f5 100644
--- a/drivers/net/mlx4/en_tx.c
+++ b/drivers/net/mlx4/en_tx.c
@@ -249,6 +249,7 @@ static u32 mlx4_en_free_tx_desc(struct mlx4_en_priv *priv,
pci_unmap_page(mdev->pdev,
(dma_addr_t) be64_to_cpu(data->addr),
frag->size, PCI_DMA_TODEVICE);
+ ++data;
}
}
/* Stamp the freed descriptor */