diff options
Diffstat (limited to 'net/can/gw.c')
-rw-r--r-- | net/can/gw.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/net/can/gw.c b/net/can/gw.c index c185fcd5e828..2d117dc5ebea 100644 --- a/net/can/gw.c +++ b/net/can/gw.c | |||
@@ -457,11 +457,11 @@ static int cgw_notifier(struct notifier_block *nb, | |||
457 | if (msg == NETDEV_UNREGISTER) { | 457 | if (msg == NETDEV_UNREGISTER) { |
458 | 458 | ||
459 | struct cgw_job *gwj = NULL; | 459 | struct cgw_job *gwj = NULL; |
460 | struct hlist_node *n, *nx; | 460 | struct hlist_node *nx; |
461 | 461 | ||
462 | ASSERT_RTNL(); | 462 | ASSERT_RTNL(); |
463 | 463 | ||
464 | hlist_for_each_entry_safe(gwj, n, nx, &cgw_list, list) { | 464 | hlist_for_each_entry_safe(gwj, nx, &cgw_list, list) { |
465 | 465 | ||
466 | if (gwj->src.dev == dev || gwj->dst.dev == dev) { | 466 | if (gwj->src.dev == dev || gwj->dst.dev == dev) { |
467 | hlist_del(&gwj->list); | 467 | hlist_del(&gwj->list); |
@@ -575,12 +575,11 @@ cancel: | |||
575 | static int cgw_dump_jobs(struct sk_buff *skb, struct netlink_callback *cb) | 575 | static int cgw_dump_jobs(struct sk_buff *skb, struct netlink_callback *cb) |
576 | { | 576 | { |
577 | struct cgw_job *gwj = NULL; | 577 | struct cgw_job *gwj = NULL; |
578 | struct hlist_node *n; | ||
579 | int idx = 0; | 578 | int idx = 0; |
580 | int s_idx = cb->args[0]; | 579 | int s_idx = cb->args[0]; |
581 | 580 | ||
582 | rcu_read_lock(); | 581 | rcu_read_lock(); |
583 | hlist_for_each_entry_rcu(gwj, n, &cgw_list, list) { | 582 | hlist_for_each_entry_rcu(gwj, &cgw_list, list) { |
584 | if (idx < s_idx) | 583 | if (idx < s_idx) |
585 | goto cont; | 584 | goto cont; |
586 | 585 | ||
@@ -858,11 +857,11 @@ out: | |||
858 | static void cgw_remove_all_jobs(void) | 857 | static void cgw_remove_all_jobs(void) |
859 | { | 858 | { |
860 | struct cgw_job *gwj = NULL; | 859 | struct cgw_job *gwj = NULL; |
861 | struct hlist_node *n, *nx; | 860 | struct hlist_node *nx; |
862 | 861 | ||
863 | ASSERT_RTNL(); | 862 | ASSERT_RTNL(); |
864 | 863 | ||
865 | hlist_for_each_entry_safe(gwj, n, nx, &cgw_list, list) { | 864 | hlist_for_each_entry_safe(gwj, nx, &cgw_list, list) { |
866 | hlist_del(&gwj->list); | 865 | hlist_del(&gwj->list); |
867 | cgw_unregister_filter(gwj); | 866 | cgw_unregister_filter(gwj); |
868 | kfree(gwj); | 867 | kfree(gwj); |
@@ -872,7 +871,7 @@ static void cgw_remove_all_jobs(void) | |||
872 | static int cgw_remove_job(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg) | 871 | static int cgw_remove_job(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg) |
873 | { | 872 | { |
874 | struct cgw_job *gwj = NULL; | 873 | struct cgw_job *gwj = NULL; |
875 | struct hlist_node *n, *nx; | 874 | struct hlist_node *nx; |
876 | struct rtcanmsg *r; | 875 | struct rtcanmsg *r; |
877 | struct cf_mod mod; | 876 | struct cf_mod mod; |
878 | struct can_can_gw ccgw; | 877 | struct can_can_gw ccgw; |
@@ -907,7 +906,7 @@ static int cgw_remove_job(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg) | |||
907 | ASSERT_RTNL(); | 906 | ASSERT_RTNL(); |
908 | 907 | ||
909 | /* remove only the first matching entry */ | 908 | /* remove only the first matching entry */ |
910 | hlist_for_each_entry_safe(gwj, n, nx, &cgw_list, list) { | 909 | hlist_for_each_entry_safe(gwj, nx, &cgw_list, list) { |
911 | 910 | ||
912 | if (gwj->flags != r->flags) | 911 | if (gwj->flags != r->flags) |
913 | continue; | 912 | continue; |