Re: [PATCH v4 0/7] PCI: endpoint/NTB: Harden vNTB resource management
From: Manivannan Sadhasivam
Date: Thu Feb 26 2026 - 02:43:05 EST
On Wed, Feb 18, 2026 at 10:09:13PM +0530, Manivannan Sadhasivam wrote:
> On Thu, Feb 19, 2026 at 01:36:16AM +0900, Koichiro Den wrote:
> > On Wed, Feb 18, 2026 at 09:52:08PM +0530, Manivannan Sadhasivam wrote:
> > > On Wed, Feb 18, 2026 at 09:45:22PM +0530, Manivannan Sadhasivam wrote:
> > > > 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.
> > > > >
> > > >
> > > > Are there any dependencies between pci-epf-vntb and ntb-epf drivers? If they are
> > > > not dependent, you should always post them separately.
> >
> > I'll make sure to be more careful.
> >
> > > > For this series, I can
> > > > merge the endpoint patches (except patch 4 which got merged in other form).
> > > >
> > >
> > > Sry, patch 2.
> >
> > There are no dependencies between Patch 1 and Patch 3-7.
> >
> > One minor note: I just realized that the Patch 5 subject is inconsistent.
> >
> > NTB: epf: vntb: Stop cmd_handler work in epf_ntb_epc_cleanup
> >
> > should have been
> >
> > PCI: endpoint: pci-epf-vntb: Stop cmd_handler work in epf_ntb_epc_cleanup
> >
> > If possible, could you please adjust the subject when applying?
> >
>
> Will do.
>
This series fails to apply cleanly on top of pci/endpoint branch. Can you please
rebase and send the endpoint patches separately (with all changes)?
- Mani
--
மணிவண்ணன் சதாசிவம்