On Sun, 2005-08-07 at 23:12 +0200, John Bäckstrand wrote: > Steven Rostedt wrote: > > I don't have the card, so I can't test it. But if this works (after > > removing the previous patch) then this is the better solution. > > I can confirm that this alone does not work for the simple > unplug/re-plug cycle I described, it still locks up hard. Tried this > alone on -rc6.
Darn it. If I had a e1000 I could debug it. I have other methods of logging than printks in all there varieties (see relayfs and friends). I still believe that the e1000_netpoll is not turning on the queue for some reason and the netpoll_send_skb is locking up because of that. Especially since Andi's patch fixes the problem. In e1000_clean_tx_irq, which I added to the e1000_netpoll call, has the following lines: if(unlikely(cleaned && netif_queue_stopped(netdev) && netif_carrier_ok(netdev))) netif_wake_queue(netdev); The netif_queue_stopped is true, since that causes the looping in netpoll_send_pkt. So either it didn't clean any buffers (cleaned is false) or netif_carrier_ok is false. I don't know what the e1000 does when you pull the cable while it's transmitting, does it call the e1000_down? If so it could cause the carrier_ok to fail. Oh well, someone with a e1000 card will need to look into this. The problem should be easily found. Good luck. -- Steve - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/