Index: linux_2_4/drivers/net/tokenring/tms380tr.c diff -u linux_2_4/drivers/net/tokenring/tms380tr.c:1.1.1.3 linux_2_4/drivers/net/tokenring/tms380tr.c:1.1.1.3.76.2 --- linux_2_4/drivers/net/tokenring/tms380tr.c:1.1.1.3 Sun Oct 22 14:56:23 2000 +++ linux_2_4/drivers/net/tokenring/tms380tr.c Tue Jan 23 07:19:16 2001 @@ -1977,7 +1977,7 @@ printk(KERN_INFO "Cancel tx (%08lXh).\n", (unsigned long)tpl); - dev_kfree_skb(tpl->Skb); + dev_kfree_skb_any(tpl->Skb); } for(;;) @@ -1986,7 +1986,7 @@ if(skb == NULL) break; tp->QueueSkb++; - dev_kfree_skb(skb); + dev_kfree_skb_any(skb); } return; @@ -2053,7 +2053,7 @@ } tp->MacStat.tx_packets++; - dev_kfree_skb(tpl->Skb); + dev_kfree_skb_irq(tpl->Skb); tpl->BusyFlag = 0; /* "free" TPL */ } @@ -2127,7 +2127,7 @@ printk(KERN_INFO "%s: Received my own frame\n", dev->name); if(rpl->Skb != NULL) - dev_kfree_skb(rpl->Skb); + dev_kfree_skb_irq(rpl->Skb); } else #endif @@ -2171,13 +2171,14 @@ skb_trim(skb,Length); skb->protocol = tr_type_trans(skb,dev); netif_rx(skb); + dev->last_rx = jiffies; } } } else /* Invalid frame */ { if(rpl->Skb != NULL) - dev_kfree_skb(rpl->Skb); + dev_kfree_skb_irq(rpl->Skb); /* Skip list. */ if(rpl->Status & RX_START_FRAME)