--- r8169.c-realtek 2004-01-17 14:14:50.000000000 +0100 +++ r8169.c-debug 2004-01-17 14:17:25.000000000 +0100 @@ -1290,6 +1290,11 @@ static void rtl8169_tx_interrupt (struct dirty_tx = priv->dirty_tx; tx_left = priv->cur_tx - dirty_tx; + if (entry + tx_left > NUM_TX_DESC) { + printk(KERN_ERR, "r8169 bug. Please mail netdev@xxxxxxxxxxx\n"); + return; + } + while (tx_left > 0) { if( (priv->TxDescArray[entry].status & OWNbit) == 0 ){ dev_kfree_skb_irq( priv->Tx_skbuff[dirty_tx % NUM_TX_DESC] );