login
Header Space

 
 

Re: [PATCH] de2104x: remove BUG_ON() when changing media type

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Jeff Garzik <jgarzik@...>
Cc: Ondrej Zary <linux@...>, Grant Grundler <grundler@...>, Linux Kernel <linux-kernel@...>, <netdev@...>
Date: Sunday, March 23, 2008 - 10:45 pm

On Mon, Feb 25, 2008 at 12:52:17PM -0500, Jeff Garzik wrote:

Jeff, 
The above patch was applied and fixes the 'panic' part of the problme.
Can you take a look at this patch to fix the "chip is still running"
part of this bug?

BTW, I inherited a bug report for the same symptom:
    http://bugzilla.kernel.org/show_bug.cgi?id=3156

thanks,
grant

Signed-off-by: Grant Grundler

--- linux-2.6.23/drivers/net/tulip/de2104x.c	2007-10-09 13:31:38.000000000 -0700
+++ linux-2.6.23/drivers/net/tulip/de2104x.c-ggg	2007-11-02 23:24:46.000000000 -0700
@@ -842,7 +842,7 @@
 static void de_stop_rxtx (struct de_private *de)
 {
 	u32 macmode;
-	unsigned int work = 1000;
+	unsigned int i = 1300/100;
 
 	macmode = dr32(MacMode);
 	if (macmode & RxTx) {
@@ -850,10 +850,14 @@
 		dr32(MacMode);
 	}
 
-	while (--work > 0) {
+	/* wait until in-flight frame completes.
+	 * Max time @ 10BT: 1500*8b/10Mbps == 1200us (+ 100us margin)
+	 * Typically expect this loop to end in < 50 us on 100BT.
+	 */
+	while (--i) {
 		if (!de_is_running(de))
 			return;
-		cpu_relax();
+		udelay(100);
 	}
 
 	printk(KERN_WARNING "%s: timeout expired stopping DMA\n", de->dev->name);
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Compex FreedomLine 32 PnP-PCI2 broken with de2104x, Ondrej Zary, (Sat Jan 26, 4:58 pm)
Re: Compex FreedomLine 32 PnP-PCI2 broken with de2104x, Ondrej Zary, (Wed Jan 30, 4:23 pm)
Re: Compex FreedomLine 32 PnP-PCI2 broken with de2104x, Grant Grundler, (Sun Feb 17, 11:21 pm)
Re: Compex FreedomLine 32 PnP-PCI2 broken with de2104x, Jeff Garzik, (Mon Feb 25, 3:28 am)
Re: Compex FreedomLine 32 PnP-PCI2 broken with de2104x, Ondrej Zary, (Mon Feb 25, 5:31 pm)
Re: Compex FreedomLine 32 PnP-PCI2 broken with de2104x, Ondrej Zary, (Mon Feb 18, 12:40 pm)
Re: Compex FreedomLine 32 PnP-PCI2 broken with de2104x, Grant Grundler, (Mon Feb 25, 3:15 am)
Re: [PATCH] de2104x: remove BUG_ON() when changing media type, Grant Grundler, (Sun Mar 23, 10:45 pm)
Re: Compex FreedomLine 32 PnP-PCI2 broken with de2104x, Jeff Garzik, (Mon Feb 25, 3:30 am)
Re: Compex FreedomLine 32 PnP-PCI2 broken with de2104x, Grant Grundler, (Tue Feb 26, 3:48 am)
speck-geostationary