Loading net/bridge/br_if.c +3 −3 Original line number Original line Diff line number Diff line Loading @@ -274,7 +274,7 @@ static void destroy_nbp(struct net_bridge_port *p) p->br = NULL; p->br = NULL; p->dev = NULL; p->dev = NULL; dev_put(dev); dev_put_track(dev, &p->dev_tracker); kobject_put(&p->kobj); kobject_put(&p->kobj); } } Loading Loading @@ -423,7 +423,7 @@ static struct net_bridge_port *new_nbp(struct net_bridge *br, return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM); p->br = br; p->br = br; dev_hold(dev); dev_hold_track(dev, &p->dev_tracker, GFP_KERNEL); p->dev = dev; p->dev = dev; p->path_cost = port_cost(dev); p->path_cost = port_cost(dev); p->priority = 0x8000 >> BR_PORT_BITS; p->priority = 0x8000 >> BR_PORT_BITS; Loading @@ -434,7 +434,7 @@ static struct net_bridge_port *new_nbp(struct net_bridge *br, br_stp_port_timer_init(p); br_stp_port_timer_init(p); err = br_multicast_add_port(p); err = br_multicast_add_port(p); if (err) { if (err) { dev_put(dev); dev_put_track(dev, &p->dev_tracker); kfree(p); kfree(p); p = ERR_PTR(err); p = ERR_PTR(err); } } Loading net/bridge/br_private.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -344,6 +344,7 @@ struct net_bridge_mdb_entry { struct net_bridge_port { struct net_bridge_port { struct net_bridge *br; struct net_bridge *br; struct net_device *dev; struct net_device *dev; netdevice_tracker dev_tracker; struct list_head list; struct list_head list; unsigned long flags; unsigned long flags; Loading Loading
net/bridge/br_if.c +3 −3 Original line number Original line Diff line number Diff line Loading @@ -274,7 +274,7 @@ static void destroy_nbp(struct net_bridge_port *p) p->br = NULL; p->br = NULL; p->dev = NULL; p->dev = NULL; dev_put(dev); dev_put_track(dev, &p->dev_tracker); kobject_put(&p->kobj); kobject_put(&p->kobj); } } Loading Loading @@ -423,7 +423,7 @@ static struct net_bridge_port *new_nbp(struct net_bridge *br, return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM); p->br = br; p->br = br; dev_hold(dev); dev_hold_track(dev, &p->dev_tracker, GFP_KERNEL); p->dev = dev; p->dev = dev; p->path_cost = port_cost(dev); p->path_cost = port_cost(dev); p->priority = 0x8000 >> BR_PORT_BITS; p->priority = 0x8000 >> BR_PORT_BITS; Loading @@ -434,7 +434,7 @@ static struct net_bridge_port *new_nbp(struct net_bridge *br, br_stp_port_timer_init(p); br_stp_port_timer_init(p); err = br_multicast_add_port(p); err = br_multicast_add_port(p); if (err) { if (err) { dev_put(dev); dev_put_track(dev, &p->dev_tracker); kfree(p); kfree(p); p = ERR_PTR(err); p = ERR_PTR(err); } } Loading
net/bridge/br_private.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -344,6 +344,7 @@ struct net_bridge_mdb_entry { struct net_bridge_port { struct net_bridge_port { struct net_bridge *br; struct net_bridge *br; struct net_device *dev; struct net_device *dev; netdevice_tracker dev_tracker; struct list_head list; struct list_head list; unsigned long flags; unsigned long flags; Loading