--- /dev/null
+--- a/drivers/pci/probe.c
++++ b/drivers/pci/probe.c
+@@ -1924,7 +1924,8 @@ static void pcie_write_mrrs(struct pci_d
+ /* In the "safe" case, do not configure the MRRS. There appear to be
+ * issues with setting MRRS to 0 on a number of devices.
+ */
+- if (pcie_bus_config != PCIE_BUS_PERFORMANCE)
++ if (pcie_bus_config != PCIE_BUS_PERFORMANCE &&
++ pcie_bus_config != PCIE_BUS_PEER2PEER)
+ return;
+
+ /* For Max performance, the MRRS must be set to the largest supported
+--- a/include/linux/pci.h
++++ b/include/linux/pci.h
+@@ -756,7 +756,7 @@ enum pcie_bus_config_types {
+ PCIE_BUS_DEFAULT, /* ensure MPS matches upstream bridge */
+ PCIE_BUS_SAFE, /* use largest MPS boot-time devices support */
+ PCIE_BUS_PERFORMANCE, /* use MPS and MRRS for best performance */
+- PCIE_BUS_PEER2PEER, /* set MPS = 128 for all devices */
++ PCIE_BUS_PEER2PEER, /* set MPS and MRSS to 128 for all devices */
+ };
+
+ extern enum pcie_bus_config_types pcie_bus_config;