• Myron Stowe's avatar
    PCI: Skip MPS logic for Virtual Functions (VFs) · 8af37982
    Myron Stowe authored
    commit 3dbe97efe8bf450b183d6dee2305cbc032e6b8a4 upstream.
    
    PCIe r4.0, sec 9.3.5.4, "Device Control Register", shows both
    Max_Payload_Size (MPS) and Max_Read_request_Size (MRRS) to be 'RsvdP' for
    VFs.  Just prior to the table it states:
    
      "PF and VF functionality is defined in Section 7.5.3.4 except where
       noted in Table 9-16.  For VF fields marked 'RsvdP', the PF setting
       applies to the VF."
    
    All of which implies that with respect to Max_Payload_Size Supported
    (MPSS), MPS, and MRRS values, we should not be paying any attention to the
    VF's fields, but rather only to the PF's.  Only looking at the PF's fields
    also logically makes sense as it's the sole physical interface to the PCIe
    bus.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=200527
    Fixes: 27d868b5 ("PCI: Set MPS to match upstream bridge")
    Signed-off-by: 's avatarMyron Stowe <myron.stowe@redhat.com>
    Signed-off-by: 's avatarBjorn Helgaas <bhelgaas@google.com>
    Cc: stable@vger.kernel.org # 4.3+
    Cc: Keith Busch <keith.busch@intel.com>
    Cc: Sinan Kaya <okaya@kernel.org>
    Cc: Dongdong Liu <liudongdong3@huawei.com>
    Cc: Jon Mason <jdmason@kudzu.us>
    Signed-off-by: 's avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    8af37982