diff options
Diffstat (limited to 'net/atm/lec.c')
| -rw-r--r-- | net/atm/lec.c | 7 | 
1 files changed, 3 insertions, 4 deletions
diff --git a/net/atm/lec.c b/net/atm/lec.c index 4c5b8ba0f84f..4b98f897044a 100644 --- a/net/atm/lec.c +++ b/net/atm/lec.c @@ -410,9 +410,11 @@ static int lec_atm_send(struct atm_vcc *vcc, struct sk_buff *skb)  		priv->lane2_ops = NULL;  		if (priv->lane_version > 1)  			priv->lane2_ops = &lane2_ops; +		rtnl_lock();  		if (dev_set_mtu(dev, mesg->content.config.mtu))  			pr_info("%s: change_mtu to %d failed\n",  				dev->name, mesg->content.config.mtu); +		rtnl_unlock();  		priv->is_proxy = mesg->content.config.is_proxy;  		break;  	case l_flush_tran_id: @@ -833,7 +835,6 @@ static void *lec_tbl_walk(struct lec_state *state, struct hlist_head *tbl,  			  loff_t *l)  {  	struct hlist_node *e = state->node; -	struct lec_arp_table *tmp;  	if (!e)  		e = tbl->first; @@ -842,9 +843,7 @@ static void *lec_tbl_walk(struct lec_state *state, struct hlist_head *tbl,  		--*l;  	} -	tmp = container_of(e, struct lec_arp_table, next); - -	hlist_for_each_entry_from(tmp, next) { +	for (; e; e = e->next) {  		if (--*l < 0)  			break;  	}  |