On Wed, Apr 16, 2025 at 05:16:15AM +0000, Wei Fang wrote: > > -----Original Message----- > > From: Jakub Kicinski <k...@kernel.org> > > Sent: 2025年4月16日 11:43 > > To: Wei Fang <wei.f...@nxp.com> > > Cc: Claudiu Manoil <claudiu.man...@nxp.com>; Vladimir Oltean > > <vladimir.olt...@nxp.com>; Clark Wang <xiaoning.w...@nxp.com>; > > andrew+net...@lunn.ch; da...@davemloft.net; eduma...@google.com; > > pab...@redhat.com; christophe.le...@csgroup.eu; net...@vger.kernel.org; > > linux-ker...@vger.kernel.org; i...@lists.linux.dev; > > linuxppc-dev@lists.ozlabs.org; > > linux-arm-ker...@lists.infradead.org > > Subject: Re: [PATCH v5 net-next 04/14] net: enetc: add MAC filtering for > > i.MX95 > > ENETC PF > > > > 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. > > Yes, you are right, I will improve it. thanks.
I think the workqueue creation needs to be handled in enetc4_pf_netdev_create() somewhere in between alloc_etherdev_mqs() and register_netdev(), so that the workqueue is available as soon as the interface is registered, but also so that the workqueue teardown takes places naturally where Jakub indicated.