[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aqxjlfdqincb4yszn3ngjzvyiuybeoo2pyno4t2iz6ant337n4@bz37hl5nofzy>
Date: Thu, 8 Jan 2026 15:57:30 +0900
From: Koichiro Den <den@...inux.co.jp>
To: ntb@...ts.linux.dev, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org, Frank.Li@....com
Cc: 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 v4 0/7] PCI: endpoint/NTB: Harden vNTB resource management
On Tue, Dec 02, 2025 at 04:23:41PM +0900, Koichiro Den wrote:
> The vNTB endpoint function (pci-epf-vntb) can be configured and reconfigured
> through configfs (link/unlink functions, start/stop the controller, update
> parameters). In practice, several pitfalls present: double-unmapping when two
> windows share a BAR, wrong parameter order in .drop_link leading to wrong
> object lookups, duplicate EPC teardown that leads to oopses, a work item
> running after resources were torn down, and inability to re-link/restart
> fundamentally because ntb_dev was embedded and the vPCI bus teardown was
> incomplete.
>
> This series addresses those issues and hardens resource management across NTB
> EPF and PCI EP core:
>
> - Avoid double iounmap when PEER_SPAD and CONFIG share the same BAR.
> - Fix configfs .drop_link parameter order so the correct groups are used during
> unlink.
> - Remove duplicate EPC resource teardown in both pci-epf-vntb and pci-epf-ntb,
> avoiding crashes on .allow_link failures and during .drop_link.
> - Stop the delayed cmd_handler work before clearing BARs/doorbells.
> - Manage ntb_dev as a devm-managed allocation and implement .remove() in the
> vNTB PCI driver. Switch to pci_scan_root_bus().
>
> With these changes, the controller can now be stopped, a function unlinked,
> configfs settings updated, and the controller re-linked and restarted
> without rebooting the endpoint, as long as the underlying pci_epc_ops
> .stop() is non-destructive and .start() restores normal operation.
>
> Patches 1-5 carry Fixes tags and are candidates for stable.
> Patch 6 is a preparatory one for Patch 7.
> Patch 7 is a behavioral improvement that completes lifetime management for
> relink/restart scenarios.
>
>
> v3->v4 changes:
> - Added Reviewed-by tag for [PATCH v3 6/6].
> - Corrected patch split by moving the blank-line cleanup,
> based on the feedback from Frank.
> (No code changes overall.)
> v2->v3 changes:
> - Added Reviewed-by tag for [PATCH v2 4/6].
> - Split [PATCH v2 6/6] into two, based on the feedback from Frank.
> (No code changes overall.)
> v1->v2 changes:
> - Incorporated feedback from Frank.
> - Added Reviewed-by tags (except for patches #4 and #6).
> - Fixed a typo in patch #5 title.
> (No code changes overall.)
>
> v3: https://lore.kernel.org/all/20251130151100.2591822-1-den@valinux.co.jp/
> v2: https://lore.kernel.org/all/20251029080321.807943-1-den@valinux.co.jp/
> v1: https://lore.kernel.org/all/20251023071757.901181-1-den@valinux.co.jp/
>
>
> Koichiro Den (7):
> NTB: epf: Avoid pci_iounmap() with offset when PEER_SPAD and CONFIG
> share BAR
> PCI: endpoint: Fix parameter order for .drop_link
> PCI: endpoint: pci-epf-vntb: Remove duplicate resource teardown
> PCI: endpoint: pci-epf-ntb: Remove duplicate resource teardown
> NTB: epf: vntb: Stop cmd_handler work in epf_ntb_epc_cleanup
> PCI: endpoint: pci-epf-vntb: Switch vpci_scan_bus() to use
> pci_scan_root_bus()
> PCI: endpoint: pci-epf-vntb: manage ntb_dev lifetime and fix vpci bus
> teardown
>
> drivers/ntb/hw/epf/ntb_hw_epf.c | 3 +-
> drivers/pci/endpoint/functions/pci-epf-ntb.c | 56 +-----------
> drivers/pci/endpoint/functions/pci-epf-vntb.c | 86 ++++++++++++-------
> drivers/pci/endpoint/pci-ep-cfs.c | 8 +-
> 4 files changed, 62 insertions(+), 91 deletions(-)
Dear NTB and PCI endpoint maintainers,
I suspect this series may have been confusing because it mixed patches
targeting both NTB and PCI endpoint subsystems.
Should I re-submit [PATCH v4 2/7], which touches
drivers/pci/endpoint/pci-ep-cfs.c separately to the linux-pci mailing
list, and re-submit the rest of the patches to the NTB mailing list?
Any guidance would be appreciated.
Thanks,
Koichiro
>
> --
> 2.48.1
>
Powered by blists - more mailing lists