diff options
author | David S. Miller <davem@davemloft.net> | 2012-06-20 17:28:58 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-06-20 17:28:58 -0400 |
commit | f643776e4d1906ceff59f18315d6aba8e85db343 (patch) | |
tree | 41abc4a03a50aede07e2f59021494894d9716d32 /drivers/net/team | |
parent | d8dbd96e507e1f1133d346be123e7be4b16b72c3 (diff) |
team: Revert previous two changes.
I didn't notice that these were superceded by a more uptodate
version of the changes.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/team')
-rw-r--r-- | drivers/net/team/team_mode_activebackup.c | 7 | ||||
-rw-r--r-- | drivers/net/team/team_mode_loadbalance.c | 10 |
2 files changed, 6 insertions, 11 deletions
diff --git a/drivers/net/team/team_mode_activebackup.c b/drivers/net/team/team_mode_activebackup.c index c9e7621b4480..2fe02a8713ea 100644 --- a/drivers/net/team/team_mode_activebackup.c +++ b/drivers/net/team/team_mode_activebackup.c | |||
@@ -61,11 +61,8 @@ static void ab_port_leave(struct team *team, struct team_port *port) | |||
61 | 61 | ||
62 | static int ab_active_port_get(struct team *team, struct team_gsetter_ctx *ctx) | 62 | static int ab_active_port_get(struct team *team, struct team_gsetter_ctx *ctx) |
63 | { | 63 | { |
64 | struct team_port *active_port; | 64 | if (ab_priv(team)->active_port) |
65 | 65 | ctx->data.u32_val = ab_priv(team)->active_port->dev->ifindex; | |
66 | active_port = rcu_access_pointer(ab_priv(team)->active_port); | ||
67 | if (active_port) | ||
68 | ctx->data.u32_val = active_port->dev->ifindex; | ||
69 | else | 66 | else |
70 | ctx->data.u32_val = 0; | 67 | ctx->data.u32_val = 0; |
71 | return 0; | 68 | return 0; |
diff --git a/drivers/net/team/team_mode_loadbalance.c b/drivers/net/team/team_mode_loadbalance.c index c385b45cad18..45cc0951aa48 100644 --- a/drivers/net/team/team_mode_loadbalance.c +++ b/drivers/net/team/team_mode_loadbalance.c | |||
@@ -96,8 +96,8 @@ static void lb_tx_hash_to_port_mapping_null_port(struct team *team, | |||
96 | struct lb_port_mapping *pm; | 96 | struct lb_port_mapping *pm; |
97 | 97 | ||
98 | pm = &lb_priv->ex->tx_hash_to_port_mapping[i]; | 98 | pm = &lb_priv->ex->tx_hash_to_port_mapping[i]; |
99 | if (rcu_access_pointer(pm->port) == port) { | 99 | if (pm->port == port) { |
100 | RCU_INIT_POINTER(pm->port, NULL); | 100 | rcu_assign_pointer(pm->port, NULL); |
101 | team_option_inst_set_change(pm->opt_inst_info); | 101 | team_option_inst_set_change(pm->opt_inst_info); |
102 | changed = true; | 102 | changed = true; |
103 | } | 103 | } |
@@ -292,7 +292,7 @@ static int lb_bpf_func_set(struct team *team, struct team_gsetter_ctx *ctx) | |||
292 | if (lb_priv->ex->orig_fprog) { | 292 | if (lb_priv->ex->orig_fprog) { |
293 | /* Clear old filter data */ | 293 | /* Clear old filter data */ |
294 | __fprog_destroy(lb_priv->ex->orig_fprog); | 294 | __fprog_destroy(lb_priv->ex->orig_fprog); |
295 | sk_unattached_filter_destroy(rcu_access_pointer(lb_priv->fp)); | 295 | sk_unattached_filter_destroy(lb_priv->fp); |
296 | } | 296 | } |
297 | 297 | ||
298 | rcu_assign_pointer(lb_priv->fp, fp); | 298 | rcu_assign_pointer(lb_priv->fp, fp); |
@@ -303,11 +303,9 @@ static int lb_bpf_func_set(struct team *team, struct team_gsetter_ctx *ctx) | |||
303 | static int lb_tx_method_get(struct team *team, struct team_gsetter_ctx *ctx) | 303 | static int lb_tx_method_get(struct team *team, struct team_gsetter_ctx *ctx) |
304 | { | 304 | { |
305 | struct lb_priv *lb_priv = get_lb_priv(team); | 305 | struct lb_priv *lb_priv = get_lb_priv(team); |
306 | lb_select_tx_port_func_t *func; | ||
307 | char *name; | 306 | char *name; |
308 | 307 | ||
309 | func = rcu_access_pointer(lb_priv->select_tx_port_func); | 308 | name = lb_select_tx_port_get_name(lb_priv->select_tx_port_func); |
310 | name = lb_select_tx_port_get_name(func); | ||
311 | BUG_ON(!name); | 309 | BUG_ON(!name); |
312 | ctx->data.str_val = name; | 310 | ctx->data.str_val = name; |
313 | return 0; | 311 | return 0; |