On Fri, 11 Apr 2025 17:57:42 +0800 Wei Fang wrote: > enetc4_pf_netdev_destroy(si); > enetc4_pf_free(pf); > + destroy_workqueue(si->workqueue); I think that you need to flush or cancel the work after unregistering the netdev but before freeing it? The work may access netdev after its freed.