netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH,CFT] forcedeth: Remove superflous rx engine stop/start cycles.
@ 2005-09-18 14:37 Manfred Spraul
  2005-10-21 21:24 ` Jeff Garzik
  0 siblings, 1 reply; 2+ messages in thread
From: Manfred Spraul @ 2005-09-18 14:37 UTC (permalink / raw)
  To: Netdev; +Cc: Ayaz Abdulla

[-- Attachment #1: Type: text/plain, Size: 268 bytes --]

Hi all,

Ayaz noticed that forcedeth stops and restarts the rx engine every 3 
seconds (link timeout). The attached patch fixes that.
It also contains a larger whitespace cleanup: I've replaced a few spaces 
in the comments with tabs.

Please test it.

--
    Manfred

[-- Attachment #2: patch-forcedeth-045-start_stop_rx --]
[-- Type: text/plain, Size: 2961 bytes --]

--- 2.6/drivers/net/forcedeth.c	2005-09-18 16:21:44.000000000 +0200
+++ build-2.6/drivers/net/forcedeth.c	2005-09-18 16:22:42.000000000 +0200
@@ -80,7 +80,7 @@
  *			   into nv_close, otherwise reenabling for wol can
  *			   cause DMA to kfree'd memory.
  *	0.31: 14 Nov 2004: ethtool support for getting/setting link
- *	                   capabilities.
+ *			   capabilities.
  *	0.32: 16 Apr 2005: RX_ERROR4 handling added.
  *	0.33: 16 May 2005: Support for MCP51 added.
  *	0.34: 18 Jun 2005: Add DEV_NEED_LINKTIMER to all nForce nics.
@@ -89,14 +89,15 @@
  *	0.37: 10 Jul 2005: Additional ethtool support, cleanup of pci id list
  *	0.38: 16 Jul 2005: tx irq rewrite: Use global flags instead of
  *			   per-packet flags.
- *      0.39: 18 Jul 2005: Add 64bit descriptor support.
- *      0.40: 19 Jul 2005: Add support for mac address change.
- *      0.41: 30 Jul 2005: Write back original MAC in nv_close instead
+ *	0.39: 18 Jul 2005: Add 64bit descriptor support.
+ *	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
+ *	0.42: 06 Aug 2005: Fix lack of link speed initialization
  *			   in the second (and later) nv_open call
- *      0.43: 10 Aug 2005: Add support for tx checksum.
- *      0.44: 20 Aug 2005: Add support for scatter gather and segmentation.
+ *	0.43: 10 Aug 2005: Add support for tx checksum.
+ *	0.44: 20 Aug 2005: Add support for scatter gather and segmentation.
+ *	0.45: 18 Sep 2005: Remove nv_stop/start_rx from every link check
  *
  * Known bugs:
  * We suspect that on some hardware no TX done interrupts are generated.
@@ -108,7 +109,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.44"
+#define FORCEDETH_VERSION		"0.45"
 #define DRV_NAME			"forcedeth"
 
 #include <linux/module.h>
@@ -1613,6 +1614,17 @@
 	spin_unlock_irq(&np->lock);
 }
 
+/**
+ * nv_update_linkspeed: Setup the MAC according to the link partner
+ * @dev: Network device to be configured
+ *
+ * The function queries the PHY and checks if there is a link partner.
+ * If yes, then it sets up the MAC accordingly. Otherwise, the MAC is
+ * set to 10 MBit HD.
+ *
+ * The function returns 0 if there is no link partner and 1 if there is
+ * a good link partner.
+ */
 static int nv_update_linkspeed(struct net_device *dev)
 {
 	struct fe_priv *np = get_nvpriv(dev);
@@ -1752,13 +1764,11 @@
 static void nv_linkchange(struct net_device *dev)
 {
 	if (nv_update_linkspeed(dev)) {
-		if (netif_carrier_ok(dev)) {
-			nv_stop_rx(dev);
-		} else {
+		if (!netif_carrier_ok(dev)) {
 			netif_carrier_on(dev);
 			printk(KERN_INFO "%s: link up.\n", dev->name);
+			nv_start_rx(dev);
 		}
-		nv_start_rx(dev);
 	} else {
 		if (netif_carrier_ok(dev)) {
 			netif_carrier_off(dev);

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH,CFT] forcedeth: Remove superflous rx engine stop/start cycles.
  2005-09-18 14:37 [PATCH,CFT] forcedeth: Remove superflous rx engine stop/start cycles Manfred Spraul
@ 2005-10-21 21:24 ` Jeff Garzik
  0 siblings, 0 replies; 2+ messages in thread
From: Jeff Garzik @ 2005-10-21 21:24 UTC (permalink / raw)
  To: Manfred Spraul; +Cc: Netdev, Ayaz Abdulla

Manfred Spraul wrote:
> Hi all,
> 
> Ayaz noticed that forcedeth stops and restarts the rx engine every 3 
> seconds (link timeout). The attached patch fixes that.
> It also contains a larger whitespace cleanup: I've replaced a few spaces 
> in the comments with tabs.
> 
> Please test it.

Patch OK, but dropped since version 0.44 was dropped.

	Jeff

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-10-21 21:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-18 14:37 [PATCH,CFT] forcedeth: Remove superflous rx engine stop/start cycles Manfred Spraul
2005-10-21 21:24 ` Jeff Garzik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).