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

Commit 4fdeca3f authored by Lennert Buytenhek's avatar Lennert Buytenhek Committed by Lennert Buytenhek
Browse files

mv643xx_eth: get rid of netif_{stop,wake}_queue() calls on link down/up



There is no need to call netif_{stop,wake}_queue() when the link goes
down/up, as the networking already takes care of this internally.

Signed-off-by: default avatarLennert Buytenhek <buytenh@marvell.com>
parent ac840605
Loading
Loading
Loading
Loading
+8 −19
Original line number Diff line number Diff line
@@ -631,12 +631,10 @@ static int mv643xx_eth_poll(struct napi_struct *napi, int budget)
		for (i = 0; i < mp->txq_count; i++)
			txq_reclaim(mp->txq + i, 0);

		if (netif_carrier_ok(mp->dev)) {
		spin_lock_irq(&mp->lock);
		__txq_maybe_wake(mp->txq);
		spin_unlock_irq(&mp->lock);
	}
	}
#endif

	work_done = 0;
@@ -1765,7 +1763,6 @@ static void handle_link_event(struct mv643xx_eth_private *mp)
			printk(KERN_INFO "%s: link down\n", dev->name);

			netif_carrier_off(dev);
			netif_stop_queue(dev);

			for (i = 0; i < mp->txq_count; i++) {
				struct tx_queue *txq = mp->txq + i;
@@ -1799,10 +1796,8 @@ static void handle_link_event(struct mv643xx_eth_private *mp)
			 speed, duplex ? "full" : "half",
			 fc ? "en" : "dis");

	if (!netif_carrier_ok(dev)) {
	if (!netif_carrier_ok(dev))
		netif_carrier_on(dev);
		netif_wake_queue(dev);
	}
}

static irqreturn_t mv643xx_eth_irq(int irq, void *dev_id)
@@ -1851,12 +1846,10 @@ static irqreturn_t mv643xx_eth_irq(int irq, void *dev_id)
		 * Enough space again in the primary TX queue for a
		 * full packet?
		 */
		if (netif_carrier_ok(dev)) {
		spin_lock(&mp->lock);
		__txq_maybe_wake(mp->txq);
		spin_unlock(&mp->lock);
	}
	}

	/*
	 * Any TxEnd interrupts?
@@ -2060,7 +2053,6 @@ static int mv643xx_eth_open(struct net_device *dev)
	}

	netif_carrier_off(dev);
	netif_stop_queue(dev);

	port_start(mp);

@@ -2123,7 +2115,6 @@ static int mv643xx_eth_stop(struct net_device *dev)
	del_timer_sync(&mp->rx_oom);

	netif_carrier_off(dev);
	netif_stop_queue(dev);

	free_irq(dev->irq, dev);

@@ -2184,11 +2175,9 @@ static void tx_timeout_task(struct work_struct *ugly)
	mp = container_of(ugly, struct mv643xx_eth_private, tx_timeout_task);
	if (netif_running(mp->dev)) {
		netif_stop_queue(mp->dev);

		port_reset(mp);
		port_start(mp);

		__txq_maybe_wake(mp->txq);
		netif_wake_queue(mp->dev);
	}
}