1 --- a/drivers/pci/probe.c
2 +++ b/drivers/pci/probe.c
3 @@ -2309,7 +2309,8 @@ static void pcie_write_mrrs(struct pci_d
4 /* In the "safe" case, do not configure the MRRS. There appear to be
5 * issues with setting MRRS to 0 on a number of devices.
7 - if (pcie_bus_config != PCIE_BUS_PERFORMANCE)
8 + if (pcie_bus_config != PCIE_BUS_PERFORMANCE &&
9 + pcie_bus_config != PCIE_BUS_PEER2PEER)
12 /* For Max performance, the MRRS must be set to the largest supported
13 --- a/include/linux/pci.h
14 +++ b/include/linux/pci.h
15 @@ -847,7 +847,7 @@ enum pcie_bus_config_types {
16 PCIE_BUS_DEFAULT, /* ensure MPS matches upstream bridge */
17 PCIE_BUS_SAFE, /* use largest MPS boot-time devices support */
18 PCIE_BUS_PERFORMANCE, /* use MPS and MRRS for best performance */
19 - PCIE_BUS_PEER2PEER, /* set MPS = 128 for all devices */
20 + PCIE_BUS_PEER2PEER, /* set MPS and MRSS to 128 for all devices */
23 extern enum pcie_bus_config_types pcie_bus_config;