]> www.infradead.org Git - users/jedix/linux-maple.git/commit
PCI: endpoint: Retain fixed-size BAR size as well as aligned size
authorJerome Brunet <jbrunet@baylibre.com>
Thu, 24 Apr 2025 08:34:04 +0000 (10:34 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 28 May 2025 21:15:40 +0000 (16:15 -0500)
commit793908d60b8745c386b9f4e29eb702f74ceb0886
tree88aa24dfd322766c023c5299a302d23e357515a9
parent0af2f6be1b4281385b618cb86ad946eded089ac8
PCI: endpoint: Retain fixed-size BAR size as well as aligned size

When allocating space for an endpoint function on a BAR with a fixed size,
the size saved in 'struct pci_epf_bar.size' should be the fixed size as
expected by pci_epc_set_bar().

However, if pci_epf_alloc_space() increased the allocation size to
accommodate iATU alignment requirements, it previously saved the larger
aligned size in .size, which broke pci_epc_set_bar().

To solve this, keep the fixed BAR size in .size and save the aligned size
in a new .aligned_size for use when deallocating it.

Fixes: 2a9a801620ef ("PCI: endpoint: Add support to specify alignment for buffers allocated to BARs")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
[mani: commit message fixup]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
[bhelgaas: more specific subject, commit log, wrap comment to match file]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Link: https://patch.msgid.link/20250424-pci-ep-size-alignment-v5-1-2d4ec2af23f5@baylibre.com
drivers/pci/endpoint/pci-epf-core.c
include/linux/pci-epf.h