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) | |||
410 | priv->lane2_ops = NULL; | 410 | priv->lane2_ops = NULL; |
411 | if (priv->lane_version > 1) | 411 | if (priv->lane_version > 1) |
412 | priv->lane2_ops = &lane2_ops; | 412 | priv->lane2_ops = &lane2_ops; |
413 | rtnl_lock(); | ||
413 | if (dev_set_mtu(dev, mesg->content.config.mtu)) | 414 | if (dev_set_mtu(dev, mesg->content.config.mtu)) |
414 | pr_info("%s: change_mtu to %d failed\n", | 415 | pr_info("%s: change_mtu to %d failed\n", |
415 | dev->name, mesg->content.config.mtu); | 416 | dev->name, mesg->content.config.mtu); |
417 | rtnl_unlock(); | ||
416 | priv->is_proxy = mesg->content.config.is_proxy; | 418 | priv->is_proxy = mesg->content.config.is_proxy; |
417 | break; | 419 | break; |
418 | case l_flush_tran_id: | 420 | case l_flush_tran_id: |
@@ -833,7 +835,6 @@ static void *lec_tbl_walk(struct lec_state *state, struct hlist_head *tbl, | |||
833 | loff_t *l) | 835 | loff_t *l) |
834 | { | 836 | { |
835 | struct hlist_node *e = state->node; | 837 | struct hlist_node *e = state->node; |
836 | struct lec_arp_table *tmp; | ||
837 | 838 | ||
838 | if (!e) | 839 | if (!e) |
839 | e = tbl->first; | 840 | e = tbl->first; |
@@ -842,9 +843,7 @@ static void *lec_tbl_walk(struct lec_state *state, struct hlist_head *tbl, | |||
842 | --*l; | 843 | --*l; |
843 | } | 844 | } |
844 | 845 | ||
845 | tmp = container_of(e, struct lec_arp_table, next); | 846 | for (; e; e = e->next) { |
846 | |||
847 | hlist_for_each_entry_from(tmp, next) { | ||
848 | if (--*l < 0) | 847 | if (--*l < 0) |
849 | break; | 848 | break; |
850 | } | 849 | } |