Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 351221
b: refs/heads/master
c: 576eb62
h: refs/heads/master
i:
  351219: 07a1214
v: v3
  • Loading branch information
stephen hemminger authored and David S. Miller committed Dec 30, 2012
1 parent 836e3c2 commit 9c89ca4
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: aa1113d9f85da59dcbdd32aeb5d71da566e46def
refs/heads/master: 576eb62598f10c8c7fd75703fe89010cdcfff596
6 changes: 3 additions & 3 deletions trunk/net/bridge/br_if.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,14 +66,14 @@ void br_port_carrier_check(struct net_bridge_port *p)
struct net_device *dev = p->dev;
struct net_bridge *br = p->br;

if (netif_running(dev) && netif_carrier_ok(dev))
if (netif_running(dev) && netif_oper_up(dev))
p->path_cost = port_cost(dev);

if (!netif_running(br->dev))
return;

spin_lock_bh(&br->lock);
if (netif_running(dev) && netif_carrier_ok(dev)) {
if (netif_running(dev) && netif_oper_up(dev)) {
if (p->state == BR_STATE_DISABLED)
br_stp_enable_port(p);
} else {
Expand Down Expand Up @@ -383,7 +383,7 @@ int br_add_if(struct net_bridge *br, struct net_device *dev)
spin_lock_bh(&br->lock);
changed_addr = br_stp_recalculate_bridge_id(br);

if ((dev->flags & IFF_UP) && netif_carrier_ok(dev) &&
if (netif_running(dev) && netif_oper_up(dev) &&
(br->dev->flags & IFF_UP))
br_stp_enable_port(p);
spin_unlock_bh(&br->lock);
Expand Down
5 changes: 4 additions & 1 deletion trunk/net/bridge/br_netlink.c
Original file line number Diff line number Diff line change
Expand Up @@ -181,8 +181,11 @@ static int br_set_port_state(struct net_bridge_port *p, u8 state)
if (p->br->stp_enabled == BR_KERNEL_STP)
return -EBUSY;

/* if device is not up, change is not allowed
* if link is not present, only allowable state is disabled
*/
if (!netif_running(p->dev) ||
(!netif_carrier_ok(p->dev) && state != BR_STATE_DISABLED))
(!netif_oper_up(p->dev) && state != BR_STATE_DISABLED))
return -ENETDOWN;

p->state = state;
Expand Down
2 changes: 1 addition & 1 deletion trunk/net/bridge/br_notify.c
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ static int br_device_event(struct notifier_block *unused, unsigned long event, v
break;

case NETDEV_UP:
if (netif_carrier_ok(dev) && (br->dev->flags & IFF_UP)) {
if (netif_running(br->dev) && netif_oper_up(dev)) {
spin_lock_bh(&br->lock);
br_stp_enable_port(p);
spin_unlock_bh(&br->lock);
Expand Down
2 changes: 1 addition & 1 deletion trunk/net/bridge/br_stp_if.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ void br_stp_enable_bridge(struct net_bridge *br)
br_config_bpdu_generation(br);

list_for_each_entry(p, &br->port_list, list) {
if ((p->dev->flags & IFF_UP) && netif_carrier_ok(p->dev))
if (netif_running(p->dev) && netif_oper_up(p->dev))
br_stp_enable_port(p);

}
Expand Down

0 comments on commit 9c89ca4

Please sign in to comment.