diff options
| -rw-r--r-- | drivers/net/sundance.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c index 0df8a2c23592..8b5aeca24d5d 100644 --- a/drivers/net/sundance.c +++ b/drivers/net/sundance.c | |||
| @@ -1116,7 +1116,6 @@ reset_tx (struct net_device *dev) | |||
| 1116 | void __iomem *ioaddr = np->base; | 1116 | void __iomem *ioaddr = np->base; |
| 1117 | struct sk_buff *skb; | 1117 | struct sk_buff *skb; |
| 1118 | int i; | 1118 | int i; |
| 1119 | int irq = in_interrupt(); | ||
| 1120 | 1119 | ||
| 1121 | /* Reset tx logic, TxListPtr will be cleaned */ | 1120 | /* Reset tx logic, TxListPtr will be cleaned */ |
| 1122 | iowrite16 (TxDisable, ioaddr + MACCtrl1); | 1121 | iowrite16 (TxDisable, ioaddr + MACCtrl1); |
| @@ -1131,10 +1130,7 @@ reset_tx (struct net_device *dev) | |||
| 1131 | dma_unmap_single(&np->pci_dev->dev, | 1130 | dma_unmap_single(&np->pci_dev->dev, |
| 1132 | le32_to_cpu(np->tx_ring[i].frag[0].addr), | 1131 | le32_to_cpu(np->tx_ring[i].frag[0].addr), |
| 1133 | skb->len, DMA_TO_DEVICE); | 1132 | skb->len, DMA_TO_DEVICE); |
| 1134 | if (irq) | 1133 | dev_kfree_skb_any(skb); |
| 1135 | dev_kfree_skb_irq (skb); | ||
| 1136 | else | ||
| 1137 | dev_kfree_skb (skb); | ||
| 1138 | np->tx_skbuff[i] = NULL; | 1134 | np->tx_skbuff[i] = NULL; |
| 1139 | dev->stats.tx_dropped++; | 1135 | dev->stats.tx_dropped++; |
| 1140 | } | 1136 | } |
