diff options
Diffstat (limited to 'net/bridge/br_fdb.c')
| -rw-r--r-- | net/bridge/br_fdb.c | 6 | 
1 files changed, 3 insertions, 3 deletions
diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c index b01dde35a69..90512ccfd3e 100644 --- a/net/bridge/br_fdb.c +++ b/net/bridge/br_fdb.c @@ -214,7 +214,7 @@ void br_fdb_delete_by_port(struct net_bridge *br,  	spin_unlock_bh(&br->hash_lock);  } -/* No locking or refcounting, assumes caller has no preempt (rcu_read_lock) */ +/* No locking or refcounting, assumes caller has rcu_read_lock */  struct net_bridge_fdb_entry *__br_fdb_get(struct net_bridge *br,  					  const unsigned char *addr)  { @@ -240,11 +240,11 @@ int br_fdb_test_addr(struct net_device *dev, unsigned char *addr)  	struct net_bridge_fdb_entry *fdb;  	int ret; -	if (!dev->br_port) +	if (!br_port_exists(dev))  		return 0;  	rcu_read_lock(); -	fdb = __br_fdb_get(dev->br_port->br, addr); +	fdb = __br_fdb_get(br_port_get_rcu(dev)->br, addr);  	ret = fdb && fdb->dst->dev != dev &&  		fdb->dst->state == BR_STATE_FORWARDING;  	rcu_read_unlock();  |