mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-03 07:38:10 +00:00
[PATCH] prism54: Free skb after disabling interrupts
The dev_kfree_skb in islpci_eth_transmit happens while irqs are still disabled, so either dev_kfree_skb_irq needs to be used or the skb needs to be freed after irqs have been enabled again. This patch should fix it. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
This commit is contained in:
parent
eef55ac7bf
commit
e71180f368
1 changed files with 2 additions and 4 deletions
|
@ -241,12 +241,10 @@ islpci_eth_transmit(struct sk_buff *skb, struct net_device *ndev)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
drop_free:
|
drop_free:
|
||||||
/* free the skbuf structure before aborting */
|
|
||||||
dev_kfree_skb(skb);
|
|
||||||
skb = NULL;
|
|
||||||
|
|
||||||
priv->statistics.tx_dropped++;
|
priv->statistics.tx_dropped++;
|
||||||
spin_unlock_irqrestore(&priv->slock, flags);
|
spin_unlock_irqrestore(&priv->slock, flags);
|
||||||
|
dev_kfree_skb(skb);
|
||||||
|
skb = NULL;
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue