Re: ACPI Standby and nvidia ethernet driver causes network errorsand drops
From: Manfred Spraul
Date: Thu Aug 18 2005 - 00:35:00 EST
Hi Avuton,
I have not been able to duplicate this without going into standby,
thus this bug may have existed before 2.6.12, as I just started using
ACPI standby.
Could you try the attached patch? Lots of error are often caused by half
duplex/full duplex mismatches, and such a bug was just fixed.
--
Manfred
--- 2.6/drivers/net/forcedeth.c 2005-08-14 11:17:03.000000000 +0200
+++ build-2.6/drivers/net/forcedeth.c 2005-08-14 11:16:53.000000000 +0200
@@ -93,6 +93,8 @@
* 0.40: 19 Jul 2005: Add support for mac address change.
* 0.41: 30 Jul 2005: Write back original MAC in nv_close instead
* of nv_remove
+ * 0.42: 06 Aug 2005: Fix lack of link speed initialization
+ * in the second (and later) nv_open call
*
* Known bugs:
* We suspect that on some hardware no TX done interrupts are generated.
@@ -104,7 +106,7 @@
* DEV_NEED_TIMERIRQ will not harm you on sane hardware, only generating a few
* superfluous timer interrupts from the nic.
*/
-#define FORCEDETH_VERSION "0.41"
+#define FORCEDETH_VERSION "0.42"
#define DRV_NAME "forcedeth"
#include <linux/module.h>
@@ -2178,6 +2180,9 @@
writel(NVREG_MIISTAT_MASK, base + NvRegMIIStatus);
dprintk(KERN_INFO "startup: got 0x%08x.\n", miistat);
}
+ /* set linkspeed to invalid value, thus force nv_update_linkspeed
+ * to init hw */
+ np->linkspeed = 0;
ret = nv_update_linkspeed(dev);
nv_start_rx(dev);
nv_start_tx(dev);