]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
PCI: endpoint: pci-epf-test: Fix doorbell test support
authorNiklas Cassel <cassel@kernel.org>
Mon, 8 Sep 2025 16:19:42 +0000 (18:19 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 12 Sep 2025 20:09:32 +0000 (15:09 -0500)
commitf272210b28d050df56ec7dfaecb9fa3bebca6419
tree17ec21719721ac85020189452589934cf681b8a9
parentd5f6bd3ee3f5048f272182dc91675c082773999e
PCI: endpoint: pci-epf-test: Fix doorbell test support

The doorbell feature temporarily overrides the inbound translation to point
to the address stored in epf_test->db_bar.phys_addr, i.e., it calls
set_bar() twice without ever calling clear_bar(), as calling clear_bar()
would clear the BAR's PCI address assigned by the host.

Thus, when disabling the doorbell, restore the inbound translation to point
to the memory allocated for the BAR.

Without this, running the PCI endpoint kselftest doorbell test case more
than once would fail.

Fixes: eff0c286aa91 ("PCI: endpoint: pci-epf-test: Add doorbell test support")
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20250908161942.534799-2-cassel@kernel.org
drivers/pci/endpoint/functions/pci-epf-test.c