Commit 3d0fda90 authored by Grygorii Strashko's avatar Grygorii Strashko Committed by David S. Miller

net: ethernet: ti: am65-cpsw-ethtool: configured critical setting only when no running netdevs

Ensure that critical setting can only be configured when there are no
running netdevs - all ports are down.
Signed-off-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7d58d3eb
...@@ -445,7 +445,7 @@ static int am65_cpsw_set_channels(struct net_device *ndev, ...@@ -445,7 +445,7 @@ static int am65_cpsw_set_channels(struct net_device *ndev,
/* Check if interface is up. Can change the num queues when /* Check if interface is up. Can change the num queues when
* the interface is down. * the interface is down.
*/ */
if (netif_running(ndev)) if (common->usage_count)
return -EBUSY; return -EBUSY;
am65_cpsw_nuss_remove_tx_chns(common); am65_cpsw_nuss_remove_tx_chns(common);
...@@ -734,6 +734,9 @@ static int am65_cpsw_set_ethtool_priv_flags(struct net_device *ndev, u32 flags) ...@@ -734,6 +734,9 @@ static int am65_cpsw_set_ethtool_priv_flags(struct net_device *ndev, u32 flags)
rrobin = !!(flags & AM65_CPSW_PRIV_P0_RX_PTYPE_RROBIN); rrobin = !!(flags & AM65_CPSW_PRIV_P0_RX_PTYPE_RROBIN);
if (common->usage_count)
return -EBUSY;
if (common->est_enabled && rrobin) { if (common->est_enabled && rrobin) {
netdev_err(ndev, netdev_err(ndev,
"p0-rx-ptype-rrobin flag conflicts with QOS\n"); "p0-rx-ptype-rrobin flag conflicts with QOS\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment