Lines Matching refs:swdev_work
801 struct prestera_fdb_event_work *swdev_work; in prestera_fdb_event_work() local
806 swdev_work = container_of(work, struct prestera_fdb_event_work, work); in prestera_fdb_event_work()
807 dev = swdev_work->dev; in prestera_fdb_event_work()
815 switch (swdev_work->event) { in prestera_fdb_event_work()
817 fdb_info = &swdev_work->fdb_info; in prestera_fdb_event_work()
829 fdb_info = &swdev_work->fdb_info; in prestera_fdb_event_work()
837 kfree(swdev_work->fdb_info.addr); in prestera_fdb_event_work()
838 kfree(swdev_work); in prestera_fdb_event_work()
848 struct prestera_fdb_event_work *swdev_work; in prestera_switchdev_event() local
869 swdev_work = kzalloc(sizeof(*swdev_work), GFP_ATOMIC); in prestera_switchdev_event()
870 if (!swdev_work) in prestera_switchdev_event()
873 swdev_work->event = event; in prestera_switchdev_event()
874 swdev_work->dev = dev; in prestera_switchdev_event()
883 INIT_WORK(&swdev_work->work, prestera_fdb_event_work); in prestera_switchdev_event()
884 memcpy(&swdev_work->fdb_info, ptr, in prestera_switchdev_event()
885 sizeof(swdev_work->fdb_info)); in prestera_switchdev_event()
887 swdev_work->fdb_info.addr = kzalloc(ETH_ALEN, GFP_ATOMIC); in prestera_switchdev_event()
888 if (!swdev_work->fdb_info.addr) in prestera_switchdev_event()
891 ether_addr_copy((u8 *)swdev_work->fdb_info.addr, in prestera_switchdev_event()
897 kfree(swdev_work); in prestera_switchdev_event()
901 queue_work(swdev_wq, &swdev_work->work); in prestera_switchdev_event()
905 kfree(swdev_work); in prestera_switchdev_event()