mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-07 20:33:58 -04:00
net: stmmac: use netif_tx_start|stop_all_queues() function
[ Upstream commit 9f19306d166688a73356aa636c62e698bf2063cc ]
The current implementation of stmmac_stop_all_queues() and
stmmac_start_all_queues() will not work correctly when the value of
tx_queues_to_use is changed through ethtool -L DEVNAME rx N tx M command.
Also, netif_tx_start|stop_all_queues() are only needed in driver open()
and close() only.
Fixes: c22a3f48 net: stmmac: adding multiple napi mechanism
Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Signed-off-by: Voon Weifeng <weifeng.voon@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
148b49be72
commit
1122f2a783
1 changed files with 1 additions and 32 deletions
|
|
@ -175,32 +175,6 @@ static void stmmac_enable_all_queues(struct stmmac_priv *priv)
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* stmmac_stop_all_queues - Stop all queues
|
||||
* @priv: driver private structure
|
||||
*/
|
||||
static void stmmac_stop_all_queues(struct stmmac_priv *priv)
|
||||
{
|
||||
u32 tx_queues_cnt = priv->plat->tx_queues_to_use;
|
||||
u32 queue;
|
||||
|
||||
for (queue = 0; queue < tx_queues_cnt; queue++)
|
||||
netif_tx_stop_queue(netdev_get_tx_queue(priv->dev, queue));
|
||||
}
|
||||
|
||||
/**
|
||||
* stmmac_start_all_queues - Start all queues
|
||||
* @priv: driver private structure
|
||||
*/
|
||||
static void stmmac_start_all_queues(struct stmmac_priv *priv)
|
||||
{
|
||||
u32 tx_queues_cnt = priv->plat->tx_queues_to_use;
|
||||
u32 queue;
|
||||
|
||||
for (queue = 0; queue < tx_queues_cnt; queue++)
|
||||
netif_tx_start_queue(netdev_get_tx_queue(priv->dev, queue));
|
||||
}
|
||||
|
||||
static void stmmac_service_event_schedule(struct stmmac_priv *priv)
|
||||
{
|
||||
if (!test_bit(STMMAC_DOWN, &priv->state) &&
|
||||
|
|
@ -2737,7 +2711,7 @@ static int stmmac_open(struct net_device *dev)
|
|||
}
|
||||
|
||||
stmmac_enable_all_queues(priv);
|
||||
stmmac_start_all_queues(priv);
|
||||
netif_tx_start_all_queues(priv->dev);
|
||||
|
||||
return 0;
|
||||
|
||||
|
|
@ -2778,8 +2752,6 @@ static int stmmac_release(struct net_device *dev)
|
|||
phylink_stop(priv->phylink);
|
||||
phylink_disconnect_phy(priv->phylink);
|
||||
|
||||
stmmac_stop_all_queues(priv);
|
||||
|
||||
stmmac_disable_all_queues(priv);
|
||||
|
||||
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
|
||||
|
|
@ -4770,7 +4742,6 @@ int stmmac_suspend(struct device *dev)
|
|||
mutex_lock(&priv->lock);
|
||||
|
||||
netif_device_detach(ndev);
|
||||
stmmac_stop_all_queues(priv);
|
||||
|
||||
stmmac_disable_all_queues(priv);
|
||||
|
||||
|
|
@ -4883,8 +4854,6 @@ int stmmac_resume(struct device *dev)
|
|||
|
||||
stmmac_enable_all_queues(priv);
|
||||
|
||||
stmmac_start_all_queues(priv);
|
||||
|
||||
mutex_unlock(&priv->lock);
|
||||
|
||||
if (!device_may_wakeup(priv->device)) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue