On Wed, 14 May 2014 11:09:22 -0400 Vlad Yasevich <vyasevic@xxxxxxxxxx> wrote: > @@ -58,6 +61,7 @@ static int store_flag(struct net_bridge_port *p, unsigned long v, > > if (flags != p->flags) { > p->flags = flags; > + br_port_flags_change(p, old_flags ^ flags); You are also xoring twice. Why not: store_flag() if (flags != p->flags) { br_port_flags_change(p, flags); p->flags = flags; br_ifinfo_notify(RTM_NEWLINK, p);