On Mon, 16 Aug 2004 18:01:02 -0700 "David S. Miller" <davem@redhat.com> wrote: > On Sun, 15 Aug 2004 23:31:50 -0700 > "David S. Miller" <davem@redhat.com> wrote: > > > I can't even figure out why this change makes a difference, but > > I will investigate it some more. Thanks a lot. > > Tony, please revert your patch and try this one > instead. Does it make your MTU changing test > case work? Actually, scatch that, I see what the real but is, we fail to re-enable interrupts on code paths that use tg3_init_hw(), so try this patch instead against a vanilla tg3.c driver ===== drivers/net/tg3.c 1.192 vs edited ===== --- 1.192/drivers/net/tg3.c 2004-08-16 17:41:48 -07:00 +++ edited/drivers/net/tg3.c 2004-08-16 17:58:33 -07:00 @@ -2883,6 +2883,8 @@ tg3_halt(tp); tg3_init_hw(tp); + tg3_enable_ints(tp); + spin_unlock(&tp->tx_lock); spin_unlock_irq(&tp->lock); @@ -3247,6 +3249,8 @@ tg3_init_hw(tp); + tg3_enable_ints(tp); + spin_unlock(&tp->tx_lock); spin_unlock_irq(&tp->lock); tg3_netif_start(tp); @@ -6624,6 +6628,9 @@ tg3_halt(tp); tg3_init_hw(tp); + + tg3_enable_ints(tp); + netif_wake_queue(tp->dev); spin_unlock(&tp->tx_lock); spin_unlock_irq(&tp->lock); @@ -6662,6 +6669,9 @@ tp->tg3_flags &= ~TG3_FLAG_PAUSE_TX; tg3_halt(tp); tg3_init_hw(tp); + + tg3_enable_ints(tp); + spin_unlock(&tp->tx_lock); spin_unlock_irq(&tp->lock); tg3_netif_start(tp); @@ -8510,6 +8520,8 @@ tp->timer.expires = jiffies + tp->timer_offset; add_timer(&tp->timer); + + tg3_enable_ints(tp); spin_unlock(&tp->tx_lock); spin_unlock_irq(&tp->lock); - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html