Lines Matching refs:switchdev_work

127 	struct prueth_switchdev_event_work *switchdev_work =  in prueth_switchdev_event_work()  local
129 struct prueth_emac *emac = switchdev_work->emac; in prueth_switchdev_event_work()
135 switch (switchdev_work->event) { in prueth_switchdev_event_work()
137 fdb = &switchdev_work->fdb_info; in prueth_switchdev_event_work()
154 fdb = &switchdev_work->fdb_info; in prueth_switchdev_event_work()
172 kfree(switchdev_work->fdb_info.addr); in prueth_switchdev_event_work()
173 kfree(switchdev_work); in prueth_switchdev_event_work()
181 struct prueth_switchdev_event_work *switchdev_work; in prueth_switchdev_event() local
196 switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); in prueth_switchdev_event()
197 if (WARN_ON(!switchdev_work)) in prueth_switchdev_event()
200 INIT_WORK(&switchdev_work->work, prueth_switchdev_event_work); in prueth_switchdev_event()
201 switchdev_work->emac = emac; in prueth_switchdev_event()
202 switchdev_work->event = event; in prueth_switchdev_event()
207 memcpy(&switchdev_work->fdb_info, ptr, in prueth_switchdev_event()
208 sizeof(switchdev_work->fdb_info)); in prueth_switchdev_event()
209 switchdev_work->fdb_info.addr = kzalloc(ETH_ALEN, GFP_ATOMIC); in prueth_switchdev_event()
210 if (!switchdev_work->fdb_info.addr) in prueth_switchdev_event()
212 ether_addr_copy((u8 *)switchdev_work->fdb_info.addr, in prueth_switchdev_event()
217 kfree(switchdev_work); in prueth_switchdev_event()
221 queue_work(system_long_wq, &switchdev_work->work); in prueth_switchdev_event()
226 kfree(switchdev_work); in prueth_switchdev_event()