diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-02-24 00:12:35 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-02-24 00:12:35 +0000 |
commit | 482368b1a8e45430672c58c9a42e7d2004367126 (patch) | |
tree | ce2a1a567d4d62dee7c2e71a46a99cf72cf1d606 /drivers/net/via-rhine.c | |
parent | e4d0251c6f56ab2e191afb70f80f382793e23f74 (diff) |
Merge with 2.3.47. Guys, this is buggy as shit. You've been warned.
Diffstat (limited to 'drivers/net/via-rhine.c')
-rw-r--r-- | drivers/net/via-rhine.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c index 5d412d161..abfde3e8a 100644 --- a/drivers/net/via-rhine.c +++ b/drivers/net/via-rhine.c @@ -865,11 +865,11 @@ static void intr_handler(int irq, void *dev_instance, struct pt_regs *rgs) np->stats.tx_packets++; } /* Free the original skb. */ - kfree_skb(np->tx_skbuff[entry]); + dev_kfree_skb_irq(np->tx_skbuff[entry]); np->tx_skbuff[entry] = 0; } if (np->tx_full && - test_bit(LINK_STATE_XOFF, &dev->flags) && + netif_queue_stopped(dev) && np->cur_tx - np->dirty_tx < TX_RING_SIZE - 4) { /* The ring is no longer full, clear tbusy. */ np->tx_full = 0; @@ -1147,13 +1147,13 @@ static int netdev_close(struct net_device *dev) np->rx_ring[i].rx_length = 0; np->rx_ring[i].addr = 0xBADF00D0; /* An invalid address. */ if (np->rx_skbuff[i]) { - kfree_skb(np->rx_skbuff[i]); + dev_kfree_skb(np->rx_skbuff[i]); } np->rx_skbuff[i] = 0; } for (i = 0; i < TX_RING_SIZE; i++) { if (np->tx_skbuff[i]) - kfree_skb(np->tx_skbuff[i]); + dev_kfree_skb(np->tx_skbuff[i]); np->tx_skbuff[i] = 0; } |