diff options
Diffstat (limited to 'drivers/net/ethernet/calxeda/xgmac.c')
-rw-r--r-- | drivers/net/ethernet/calxeda/xgmac.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ethernet/calxeda/xgmac.c b/drivers/net/ethernet/calxeda/xgmac.c index d2a183c3a6ce..521dfea44b83 100644 --- a/drivers/net/ethernet/calxeda/xgmac.c +++ b/drivers/net/ethernet/calxeda/xgmac.c | |||
@@ -897,7 +897,7 @@ static void xgmac_tx_complete(struct xgmac_priv *priv) | |||
897 | /* Check tx error on the last segment */ | 897 | /* Check tx error on the last segment */ |
898 | if (desc_get_tx_ls(p)) { | 898 | if (desc_get_tx_ls(p)) { |
899 | desc_get_tx_status(priv, p); | 899 | desc_get_tx_status(priv, p); |
900 | dev_kfree_skb(skb); | 900 | dev_consume_skb_any(skb); |
901 | } | 901 | } |
902 | 902 | ||
903 | priv->tx_skbuff[entry] = NULL; | 903 | priv->tx_skbuff[entry] = NULL; |
@@ -1105,7 +1105,7 @@ static netdev_tx_t xgmac_xmit(struct sk_buff *skb, struct net_device *dev) | |||
1105 | len = skb_headlen(skb); | 1105 | len = skb_headlen(skb); |
1106 | paddr = dma_map_single(priv->device, skb->data, len, DMA_TO_DEVICE); | 1106 | paddr = dma_map_single(priv->device, skb->data, len, DMA_TO_DEVICE); |
1107 | if (dma_mapping_error(priv->device, paddr)) { | 1107 | if (dma_mapping_error(priv->device, paddr)) { |
1108 | dev_kfree_skb(skb); | 1108 | dev_kfree_skb_any(skb); |
1109 | return NETDEV_TX_OK; | 1109 | return NETDEV_TX_OK; |
1110 | } | 1110 | } |
1111 | priv->tx_skbuff[entry] = skb; | 1111 | priv->tx_skbuff[entry] = skb; |
@@ -1169,7 +1169,7 @@ dma_err: | |||
1169 | desc = first; | 1169 | desc = first; |
1170 | dma_unmap_single(priv->device, desc_get_buf_addr(desc), | 1170 | dma_unmap_single(priv->device, desc_get_buf_addr(desc), |
1171 | desc_get_buf_len(desc), DMA_TO_DEVICE); | 1171 | desc_get_buf_len(desc), DMA_TO_DEVICE); |
1172 | dev_kfree_skb(skb); | 1172 | dev_kfree_skb_any(skb); |
1173 | return NETDEV_TX_OK; | 1173 | return NETDEV_TX_OK; |
1174 | } | 1174 | } |
1175 | 1175 | ||