Commit 86b148ce authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] Fix tulip deadlocks on device removal

From: Carl-Daniel Hailfinger <c-d.hailfinger.kernel.2004@gmx.net>

Handle going-away devices.
parent aa8c20c2
...@@ -133,6 +133,10 @@ int tulip_poll(struct net_device *dev, int *budget) ...@@ -133,6 +133,10 @@ int tulip_poll(struct net_device *dev, int *budget)
tp->rx_ring[entry].status); tp->rx_ring[entry].status);
do { do {
if (inl(dev->base_addr + CSR5) == 0xffffffff) {
printk(KERN_DEBUG " In tulip_poll(), hardware disappeared.\n");
break;
}
/* Acknowledge current RX interrupt sources. */ /* Acknowledge current RX interrupt sources. */
outl((RxIntr | RxNoBuf), dev->base_addr + CSR5); outl((RxIntr | RxNoBuf), dev->base_addr + CSR5);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment