Lines Matching refs:switchdev_work

423 	struct cpsw_switchdev_event_work *switchdev_work =  in cpsw_switchdev_event_work()  local
425 struct cpsw_priv *priv = switchdev_work->priv; in cpsw_switchdev_event_work()
431 switch (switchdev_work->event) { in cpsw_switchdev_event_work()
433 fdb = &switchdev_work->fdb_info; in cpsw_switchdev_event_work()
449 fdb = &switchdev_work->fdb_info; in cpsw_switchdev_event_work()
468 kfree(switchdev_work->fdb_info.addr); in cpsw_switchdev_event_work()
469 kfree(switchdev_work); in cpsw_switchdev_event_work()
479 struct cpsw_switchdev_event_work *switchdev_work; in cpsw_switchdev_event() local
493 switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); in cpsw_switchdev_event()
494 if (WARN_ON(!switchdev_work)) in cpsw_switchdev_event()
497 INIT_WORK(&switchdev_work->work, cpsw_switchdev_event_work); in cpsw_switchdev_event()
498 switchdev_work->priv = priv; in cpsw_switchdev_event()
499 switchdev_work->event = event; in cpsw_switchdev_event()
504 memcpy(&switchdev_work->fdb_info, ptr, in cpsw_switchdev_event()
505 sizeof(switchdev_work->fdb_info)); in cpsw_switchdev_event()
506 switchdev_work->fdb_info.addr = kzalloc(ETH_ALEN, GFP_ATOMIC); in cpsw_switchdev_event()
507 if (!switchdev_work->fdb_info.addr) in cpsw_switchdev_event()
509 ether_addr_copy((u8 *)switchdev_work->fdb_info.addr, in cpsw_switchdev_event()
514 kfree(switchdev_work); in cpsw_switchdev_event()
518 queue_work(system_long_wq, &switchdev_work->work); in cpsw_switchdev_event()
523 kfree(switchdev_work); in cpsw_switchdev_event()