Lines Matching refs:a

148 	struct dsa_mac_addr *a;  in dsa_mac_addr_find()  local
150 list_for_each_entry(a, addr_list, list) in dsa_mac_addr_find()
151 if (ether_addr_equal(a->addr, addr) && a->vid == vid && in dsa_mac_addr_find()
152 dsa_db_equal(&a->db, &db)) in dsa_mac_addr_find()
153 return a; in dsa_mac_addr_find()
163 struct dsa_mac_addr *a; in dsa_port_do_mdb_add() local
177 a = dsa_mac_addr_find(&dp->mdbs, mdb->addr, mdb->vid, db); in dsa_port_do_mdb_add()
178 if (a) { in dsa_port_do_mdb_add()
179 refcount_inc(&a->refcount); in dsa_port_do_mdb_add()
181 &a->refcount); in dsa_port_do_mdb_add()
185 a = kzalloc(sizeof(*a), GFP_KERNEL); in dsa_port_do_mdb_add()
186 if (!a) { in dsa_port_do_mdb_add()
194 kfree(a); in dsa_port_do_mdb_add()
198 ether_addr_copy(a->addr, mdb->addr); in dsa_port_do_mdb_add()
199 a->vid = mdb->vid; in dsa_port_do_mdb_add()
200 a->db = db; in dsa_port_do_mdb_add()
201 refcount_set(&a->refcount, 1); in dsa_port_do_mdb_add()
202 list_add_tail(&a->list, &dp->mdbs); in dsa_port_do_mdb_add()
215 struct dsa_mac_addr *a; in dsa_port_do_mdb_del() local
229 a = dsa_mac_addr_find(&dp->mdbs, mdb->addr, mdb->vid, db); in dsa_port_do_mdb_del()
230 if (!a) { in dsa_port_do_mdb_del()
236 if (!refcount_dec_and_test(&a->refcount)) { in dsa_port_do_mdb_del()
238 &a->refcount); in dsa_port_do_mdb_del()
245 refcount_set(&a->refcount, 1); in dsa_port_do_mdb_del()
249 list_del(&a->list); in dsa_port_do_mdb_del()
250 kfree(a); in dsa_port_do_mdb_del()
262 struct dsa_mac_addr *a; in dsa_port_do_fdb_add() local
276 a = dsa_mac_addr_find(&dp->fdbs, addr, vid, db); in dsa_port_do_fdb_add()
277 if (a) { in dsa_port_do_fdb_add()
278 refcount_inc(&a->refcount); in dsa_port_do_fdb_add()
279 trace_dsa_fdb_add_bump(dp, addr, vid, &db, &a->refcount); in dsa_port_do_fdb_add()
283 a = kzalloc(sizeof(*a), GFP_KERNEL); in dsa_port_do_fdb_add()
284 if (!a) { in dsa_port_do_fdb_add()
292 kfree(a); in dsa_port_do_fdb_add()
296 ether_addr_copy(a->addr, addr); in dsa_port_do_fdb_add()
297 a->vid = vid; in dsa_port_do_fdb_add()
298 a->db = db; in dsa_port_do_fdb_add()
299 refcount_set(&a->refcount, 1); in dsa_port_do_fdb_add()
300 list_add_tail(&a->list, &dp->fdbs); in dsa_port_do_fdb_add()
312 struct dsa_mac_addr *a; in dsa_port_do_fdb_del() local
326 a = dsa_mac_addr_find(&dp->fdbs, addr, vid, db); in dsa_port_do_fdb_del()
327 if (!a) { in dsa_port_do_fdb_del()
333 if (!refcount_dec_and_test(&a->refcount)) { in dsa_port_do_fdb_del()
334 trace_dsa_fdb_del_drop(dp, addr, vid, &db, &a->refcount); in dsa_port_do_fdb_del()
341 refcount_set(&a->refcount, 1); in dsa_port_do_fdb_del()
345 list_del(&a->list); in dsa_port_do_fdb_del()
346 kfree(a); in dsa_port_do_fdb_del()
358 struct dsa_mac_addr *a; in dsa_switch_do_lag_fdb_add() local
363 a = dsa_mac_addr_find(&lag->fdbs, addr, vid, db); in dsa_switch_do_lag_fdb_add()
364 if (a) { in dsa_switch_do_lag_fdb_add()
365 refcount_inc(&a->refcount); in dsa_switch_do_lag_fdb_add()
367 &a->refcount); in dsa_switch_do_lag_fdb_add()
371 a = kzalloc(sizeof(*a), GFP_KERNEL); in dsa_switch_do_lag_fdb_add()
372 if (!a) { in dsa_switch_do_lag_fdb_add()
380 kfree(a); in dsa_switch_do_lag_fdb_add()
384 ether_addr_copy(a->addr, addr); in dsa_switch_do_lag_fdb_add()
385 a->vid = vid; in dsa_switch_do_lag_fdb_add()
386 a->db = db; in dsa_switch_do_lag_fdb_add()
387 refcount_set(&a->refcount, 1); in dsa_switch_do_lag_fdb_add()
388 list_add_tail(&a->list, &lag->fdbs); in dsa_switch_do_lag_fdb_add()
400 struct dsa_mac_addr *a; in dsa_switch_do_lag_fdb_del() local
405 a = dsa_mac_addr_find(&lag->fdbs, addr, vid, db); in dsa_switch_do_lag_fdb_del()
406 if (!a) { in dsa_switch_do_lag_fdb_del()
412 if (!refcount_dec_and_test(&a->refcount)) { in dsa_switch_do_lag_fdb_del()
414 &a->refcount); in dsa_switch_do_lag_fdb_del()
421 refcount_set(&a->refcount, 1); in dsa_switch_do_lag_fdb_del()
425 list_del(&a->list); in dsa_switch_do_lag_fdb_del()
426 kfree(a); in dsa_switch_do_lag_fdb_del()