]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
PCI: endpoint: pci-epf-vntb: Stop cmd_handler work in epf_ntb_epc_cleanup
authorKoichiro Den <den@valinux.co.jp>
Thu, 26 Feb 2026 08:41:40 +0000 (17:41 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Apr 2026 11:32:20 +0000 (13:32 +0200)
commit d799984233a50abd2667a7d17a9a710a3f10ebe2 upstream.

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

Fixes: e35f56bb0330 ("PCI: endpoint: Support NTB transfer between RC and EP")
Signed-off-by: Koichiro Den <den@valinux.co.jp>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20260226084142.2226875-4-den@valinux.co.jp
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/pci/endpoint/functions/pci-epf-vntb.c

index 20a400e834392715275ebbacac6f98eb4b33b63f..b59ff3578902f208ceb4e5be65838e0e8669f31d 100644 (file)
@@ -955,6 +955,7 @@ err_config_interrupt:
  */
 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);