diff options
Diffstat (limited to 'drivers/net/mlx4/en_tx.c')
-rw-r--r-- | drivers/net/mlx4/en_tx.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/mlx4/en_tx.c b/drivers/net/mlx4/en_tx.c index b229acf1855f..6e03de034ac7 100644 --- a/drivers/net/mlx4/en_tx.c +++ b/drivers/net/mlx4/en_tx.c | |||
@@ -238,8 +238,7 @@ static u32 mlx4_en_free_tx_desc(struct mlx4_en_priv *priv, | |||
238 | } else { | 238 | } else { |
239 | if (!tx_info->inl) { | 239 | if (!tx_info->inl) { |
240 | if ((void *) data >= end) { | 240 | if ((void *) data >= end) { |
241 | data = (struct mlx4_wqe_data_seg *) | 241 | data = ring->buf + ((void *)data - end); |
242 | (ring->buf + ((void *) data - end)); | ||
243 | } | 242 | } |
244 | 243 | ||
245 | if (tx_info->linear) { | 244 | if (tx_info->linear) { |
@@ -253,7 +252,7 @@ static u32 mlx4_en_free_tx_desc(struct mlx4_en_priv *priv, | |||
253 | for (i = 0; i < frags; i++) { | 252 | for (i = 0; i < frags; i++) { |
254 | /* Check for wraparound before unmapping */ | 253 | /* Check for wraparound before unmapping */ |
255 | if ((void *) data >= end) | 254 | if ((void *) data >= end) |
256 | data = (struct mlx4_wqe_data_seg *) ring->buf; | 255 | data = ring->buf; |
257 | frag = &skb_shinfo(skb)->frags[i]; | 256 | frag = &skb_shinfo(skb)->frags[i]; |
258 | pci_unmap_page(mdev->pdev, | 257 | pci_unmap_page(mdev->pdev, |
259 | (dma_addr_t) be64_to_cpu(data->addr), | 258 | (dma_addr_t) be64_to_cpu(data->addr), |