bridge: avoid ethtool on non running interface
Subsystems (3)
PATCH 2/2 bridge: avoid ethtool on non running interface
If bridge port is offline, don't call ethtool to query speed.
Signed-off-by Stephen Hemminger <[email protected]>
--- net/bridge/br_if.c | 23 ++++++++++++----------- net/bridge/br_notify.c | 9 +-------- 2 files changed, 13 insertions(+), 19 deletions(-)
net/bridge/br_if.c +12 -11
@@ -67,20 +67,21 @@ void br_port_carrier_check(struct net_brstruct net_device *dev = p->dev;struct net_bridge *br = p->br; -if (netif_carrier_ok (dev)) +if (netif_running (dev) &&netif_carrier_ok (dev)) p->path_cost =port_cost (dev); -if (netif_running (br->dev)) { -spin_lock_bh (&br->lock); -if (netif_carrier_ok (dev)) { -if (p->state ==BR_STATE_DISABLED ) -br_stp_enable_port (p); - }else { -if (p->state !=BR_STATE_DISABLED ) -br_stp_disable_port (p); - } -spin_unlock_bh (&br->lock); +if (!netif_running (br->dev)) +return ; + +spin_lock_bh (&br->lock); +if (netif_running (dev) &&netif_carrier_ok (dev)) { +if (p->state ==BR_STATE_DISABLED ) +br_stp_enable_port (p); + }else { +if (p->state !=BR_STATE_DISABLED ) +br_stp_disable_port (p); } +spin_unlock_bh (&br->lock); }static void release_nbp (struct kobject *kobj)
From: Stephen Hemminger <[email protected]>
Date: Tue, 24 Aug 2010 16:12:56 -0700
Quoted 3 lines
If bridge port is offline, don't call ethtool to query speed.
Signed-off-by Stephen Hemminger <[email protected]>
Applied.