[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <6o774ql54y5upykegvf5mdfb72ce4w3jpl5dls5wf7lafkle3f@mztkffygiyvk>
Date: Mon, 27 Oct 2025 14:40:18 +0900
From: Koichiro Den <den@...inux.co.jp>
To: Frank Li <Frank.li@....com>
Cc: ntb@...ts.linux.dev, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org, jdmason@...zu.us, dave.jiang@...el.com, allenbh@...il.com,
mani@...nel.org, kwilczynski@...nel.org, kishon@...nel.org, bhelgaas@...gle.com,
jbrunet@...libre.com, lpieralisi@...nel.org, yebin10@...wei.com,
geert+renesas@...der.be, arnd@...db.de
Subject: Re: [PATCH 5/6] NTB: epf: vntb: Stop cmd_andler work in
epf_ntb_epc_cleanup
On Fri, Oct 24, 2025 at 02:44:13PM -0400, Frank Li wrote:
> On Thu, Oct 23, 2025 at 04:17:56PM +0900, Koichiro Den wrote:
> > Disable the delayed work before clearing BAR mappings and doorbells to
> > avoid running the handler after resources have been torn down.
> >
> > Unable to handle kernel paging request at virtual address ffff800083f46004
> > [...]
> > Internal error: Oops: 0000000096000007 [#1] SMP
> > [...]
> > Call trace:
> > epf_ntb_cmd_handler+0x54/0x200 [pci_epf_vntb] (P)
> > process_one_work+0x154/0x3b0
> > worker_thread+0x2c8/0x400
> > kthread+0x148/0x210
> > ret_from_fork+0x10/0x20
> >
> > Cc: <stable@...r.kernel.org>
> > Fixes: e35f56bb0330 ("PCI: endpoint: Support NTB transfer between RC and EP")
> > Signed-off-by: Koichiro Den <den@...inux.co.jp>
>
> Reviewed-by: Frank Li <Frank.Li@....com>
Thanks for the review.
I noticed a typo in the title: s/cmd_andler/cmd_handler/
I'll fix this in v2.
-Koichiro
>
> > ---
> > drivers/pci/endpoint/functions/pci-epf-vntb.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/pci/endpoint/functions/pci-epf-vntb.c b/drivers/pci/endpoint/functions/pci-epf-vntb.c
> > index 49ce5d4b0ee5..750a246f79c9 100644
> > --- a/drivers/pci/endpoint/functions/pci-epf-vntb.c
> > +++ b/drivers/pci/endpoint/functions/pci-epf-vntb.c
> > @@ -823,6 +823,7 @@ static int epf_ntb_epc_init(struct epf_ntb *ntb)
> > */
> > static void epf_ntb_epc_cleanup(struct epf_ntb *ntb)
> > {
> > + disable_delayed_work_sync(&ntb->cmd_handler);
> > epf_ntb_mw_bar_clear(ntb, ntb->num_mws);
> > epf_ntb_db_bar_clear(ntb);
> > epf_ntb_config_sspad_bar_clear(ntb);
> > --
> > 2.48.1
> >
Powered by blists - more mailing lists