Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4ea7f299 authored by Ayaz Abdulla's avatar Ayaz Abdulla Committed by Jeff Garzik
Browse files

[netdrvr forcedeth] remove superfluous rx engine stop/start

parent 125d128b
Loading
Loading
Loading
Loading
+22 −12
Original line number Diff line number Diff line
@@ -97,6 +97,7 @@
 *			   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.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>
@@ -1612,6 +1613,17 @@ static void nv_set_multicast(struct net_device *dev)
	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 = netdev_priv(dev);
@@ -1751,13 +1763,11 @@ static int nv_update_linkspeed(struct net_device *dev)
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);
		}
	} else {
		if (netif_carrier_ok(dev)) {
			netif_carrier_off(dev);