Lines Matching refs:swdev_work
799 struct prestera_fdb_event_work *swdev_work; in prestera_fdb_event_work() local
804 swdev_work = container_of(work, struct prestera_fdb_event_work, work); in prestera_fdb_event_work()
805 dev = swdev_work->dev; in prestera_fdb_event_work()
813 switch (swdev_work->event) { in prestera_fdb_event_work()
815 fdb_info = &swdev_work->fdb_info; in prestera_fdb_event_work()
827 fdb_info = &swdev_work->fdb_info; in prestera_fdb_event_work()
835 kfree(swdev_work->fdb_info.addr); in prestera_fdb_event_work()
836 kfree(swdev_work); in prestera_fdb_event_work()
846 struct prestera_fdb_event_work *swdev_work; in prestera_switchdev_event() local
867 swdev_work = kzalloc(sizeof(*swdev_work), GFP_ATOMIC); in prestera_switchdev_event()
868 if (!swdev_work) in prestera_switchdev_event()
871 swdev_work->event = event; in prestera_switchdev_event()
872 swdev_work->dev = dev; in prestera_switchdev_event()
881 INIT_WORK(&swdev_work->work, prestera_fdb_event_work); in prestera_switchdev_event()
882 memcpy(&swdev_work->fdb_info, ptr, in prestera_switchdev_event()
883 sizeof(swdev_work->fdb_info)); in prestera_switchdev_event()
885 swdev_work->fdb_info.addr = kzalloc(ETH_ALEN, GFP_ATOMIC); in prestera_switchdev_event()
886 if (!swdev_work->fdb_info.addr) in prestera_switchdev_event()
889 ether_addr_copy((u8 *)swdev_work->fdb_info.addr, in prestera_switchdev_event()
895 kfree(swdev_work); in prestera_switchdev_event()
899 queue_work(swdev_wq, &swdev_work->work); in prestera_switchdev_event()
903 kfree(swdev_work); in prestera_switchdev_event()