diff --git a/patches.suse/PCI-Call-Max-Payload-Size-related-fixup-quirks-early.patch b/patches.suse/PCI-Call-Max-Payload-Size-related-fixup-quirks-early.patch new file mode 100644 index 0000000..b5e5965 --- /dev/null +++ b/patches.suse/PCI-Call-Max-Payload-Size-related-fixup-quirks-early.patch @@ -0,0 +1,47 @@ +From: =?UTF-8?q?Marek=20Beh=C3=BAn?= +Date: Thu, 24 Jun 2021 19:14:17 +0200 +Subject: PCI: Call Max Payload Size-related fixup quirks early +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +Git-commit: b8da302e2955fe4d41eb9d48199242674d77dbe0 +Patch-mainline: 5.15-rc1 +References: git-fixes + +pci_device_add() calls HEADER fixups after pci_configure_device(), which +configures Max Payload Size. + +Convert MPS-related fixups to EARLY fixups so pci_configure_mps() takes +them into account. + +Fixes: 27d868b5e6cfa ("PCI: Set MPS to match upstream bridge") +Link: https://lore.kernel.org/r/20210624171418.27194-1-kabel@kernel.org +Signed-off-by: Marek BehĂșn +Signed-off-by: Bjorn Helgaas +Cc: stable@vger.kernel.org +Signed-off-by: Jiri Slaby +--- + drivers/pci/quirks.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +--- a/drivers/pci/quirks.c ++++ b/drivers/pci/quirks.c +@@ -3061,12 +3061,12 @@ static void fixup_mpss_256(struct pci_de + { + dev->pcie_mpss = 1; /* 256 bytes */ + } +-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SOLARFLARE, +- PCI_DEVICE_ID_SOLARFLARE_SFC4000A_0, fixup_mpss_256); +-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SOLARFLARE, +- PCI_DEVICE_ID_SOLARFLARE_SFC4000A_1, fixup_mpss_256); +-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SOLARFLARE, +- PCI_DEVICE_ID_SOLARFLARE_SFC4000B, fixup_mpss_256); ++DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SOLARFLARE, ++ PCI_DEVICE_ID_SOLARFLARE_SFC4000A_0, fixup_mpss_256); ++DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SOLARFLARE, ++ PCI_DEVICE_ID_SOLARFLARE_SFC4000A_1, fixup_mpss_256); ++DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SOLARFLARE, ++ PCI_DEVICE_ID_SOLARFLARE_SFC4000B, fixup_mpss_256); + + /* Intel 5000 and 5100 Memory controllers have an errata with read completion + * coalescing (which is enabled by default on some BIOSes) and MPS of 256B. diff --git a/series.conf b/series.conf index c1b7901..eb13fd2 100644 --- a/series.conf +++ b/series.conf @@ -61597,6 +61597,7 @@ patches.suse/net-usb-cdc_mbim-avoid-altsetting-toggling-for-Telit.patch patches.suse/net-usb-qmi_wwan-add-Telit-0x1060-composition.patch patches.suse/qlcnic-Remove-redundant-unlock-in-qlcnic_pinit_from_.patch + patches.suse/PCI-Call-Max-Payload-Size-related-fixup-quirks-early.patch patches.suse/msft-hv-2426-PCI-hv-Support-for-create-interrupt-v3.patch patches.suse/profiling-fix-shift-out-of-bounds-bugs.patch patches.suse/prctl-allow-to-setup-brk-for-et_dyn-executables.patch