Re: (no more) Solid freezes with 2.2.4

Andrea Arcangeli (andrea@e-mind.com)
Tue, 30 Mar 1999 22:40:15 +0200 (CEST)


On Tue, 30 Mar 1999, Linus Torvalds wrote:

>Basically, when we thought that the only way to get to the 8390 driver
>was through the 8390 interrupt, we forgot about timer-based
>retransmission etc. So the code that does things like

Maybe this my new patch will fix this SMP lockup in a more efficient way:

Index: drivers/net/8390.c
===================================================================
RCS file: /var/cvs/linux/drivers/net/8390.c,v
retrieving revision 1.1.2.2
diff -u -r1.1.2.2 8390.c
--- 8390.c 1999/03/09 01:23:27 1.1.2.2
+++ linux/drivers/net/8390.c 1999/03/30 20:35:46
@@ -424,6 +424,7 @@
* Protect the irq test too.
*/

+ start_bh_atomic();
spin_lock(&ei_local->page_lock);

if (dev->interrupt || ei_local->irqlock)
@@ -437,6 +438,7 @@
inb_p(e8390_base + EN0_IMR));
#endif
spin_unlock(&ei_local->page_lock);
+ end_bh_atomic();
return;
}

@@ -504,6 +506,7 @@
}
dev->interrupt = 0;
spin_unlock(&ei_local->page_lock);
+ end_bh_atomic();
return;
}

Andrea Arcangeli

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/