In this function, origin is a pointer to struct aggregator. No matter what agg is changed to, it has nothing to do with origin.
CC: Jay Vosburgh <jay.vosbu...@canonical.com> Signed-off-by: Zhu Yanjun <zyjzyj2...@gmail.com> --- drivers/net/bonding/bond_3ad.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c index edc70ff..20afee3 100644 --- a/drivers/net/bonding/bond_3ad.c +++ b/drivers/net/bonding/bond_3ad.c @@ -1624,8 +1624,8 @@ static void ad_agg_selection_logic(struct aggregator *agg, struct slave *slave; struct port *port; - rcu_read_lock(); origin = agg; + rcu_read_lock(); active = __get_active_agg(agg); best = (active && agg_device_up(active)) ? active : NULL; -- 1.7.9.5