uli526x: Call dev_kfree/consume_skb_any instead of dev_kfree_skb.
Replace dev_kfree_skb with dev_kfree_skb_any in uli562x_start_xmit that can be called in hard irq and other contexts, when the packet is dropped. Replace dev_kfree_skb with dev_consume_skb_any in uli562x_start_xmit that can be called in hard irq and other contexts, when the packet is transmitted. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
This commit is contained in:
parent
086dfb7fad
commit
290a79dbf7
|
@ -607,7 +607,7 @@ static netdev_tx_t uli526x_start_xmit(struct sk_buff *skb,
|
||||||
/* Too large packet check */
|
/* Too large packet check */
|
||||||
if (skb->len > MAX_PACKET_SIZE) {
|
if (skb->len > MAX_PACKET_SIZE) {
|
||||||
netdev_err(dev, "big packet = %d\n", (u16)skb->len);
|
netdev_err(dev, "big packet = %d\n", (u16)skb->len);
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb_any(skb);
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -648,7 +648,7 @@ static netdev_tx_t uli526x_start_xmit(struct sk_buff *skb,
|
||||||
uw32(DCR7, db->cr7_data);
|
uw32(DCR7, db->cr7_data);
|
||||||
|
|
||||||
/* free this SKB */
|
/* free this SKB */
|
||||||
dev_kfree_skb(skb);
|
dev_consume_skb_any(skb);
|
||||||
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue