Request for cherry-pick to 3.13.0: c2e771b02792, a755e169031d, c2e771b02792, 69874ec23387, 9f33a2ae59f2, a755e169031d, c20aecf6963d

Simon Horman simon.horman at netronome.com
Fri Sep 16 08:38:27 UTC 2016


Hi,

I'd like to recommend the following five commits for for 3.13.0
for Trusty 14.04 LTS.

These relate to Bug #1624267
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1624267


The Netronome NFP 4000/6000 intelligent NICs have an erratum erratum where
reading/writing to PCI config space addresses above 0x600 can cause the NFP
to generate PCIe completion timeouts. This can result in a system hanging.

This may be avoided by setting the PCI config size correctly and
updating the PCI subsystem to honour config sizes between
PCI_CFG_SPACE_EXP_SIZE (4096) and PCI_CFG_SPACE_SIZE (256).

This problem is resolves in upstream linux since v4.5.

Backports have also been requested to upstream linux stable back to v3.10
and have so far been included in v4.4.10, v4.1.32, v4.18.41 and queued
up for v3.10 stable.

I would like to request that the same cherry-picks be made to the Ubuntu 13.0
kernel for Trusty 14.04 LTS. They are as follows:


commit c2e771b02792d222cbcd9617fe71482a64f52647
Author: Simon Horman <simon.horman at netronome.com>
Date:   Fri Dec 11 11:30:12 2015 +0900

    PCI: Limit config space size for Netronome NFP4000
    
    Like the NFP6000, the NFP4000 as an erratum where reading/writing to PCI
    config space addresses above 0x600 can cause the NFP to generate PCIe
    completion timeouts.
    
    Limit the NFP4000's PF's config space size to 0x600 bytes as is already
    done for the NFP6000.
    
    The NFP4000's VF is 0x6004 (PCI_DEVICE_ID_NETRONOME_NFP6000_VF), the same
    device ID as the NFP6000's VF.  Thus, its config space is already limited
    by the existing use of quirk_nfp6000().
    
    Signed-off-by: Simon Horman <simon.horman at netronome.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>

commit 69874ec233871a62e1bc8c89e643993af93a8630
Author: Simon Horman <simon.horman at netronome.com>
Date:   Fri Dec 11 11:30:11 2015 +0900

    PCI: Add Netronome NFP4000 PF device ID
    
    Add the device ID for the PF of the NFP4000.  The device ID for the VF,
    0x6003, is already present as PCI_DEVICE_ID_NETRONOME_NFP6000_VF.
    
    Signed-off-by: Simon Horman <simon.horman at netronome.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>

commit 9f33a2ae59f24452c1076749deb615bccd435ca9
Author: Jason S. McMullan <jason.mcmullan at netronome.com>
Date:   Wed Sep 30 15:35:07 2015 +0900

    PCI: Limit config space size for Netronome NFP6000 family
    
    The NFP6000 has an erratum where reading/writing to PCI config space
    addresses above 0x600 can cause the NFP to generate PCIe completion
    timeouts.
    
    Limit the NFP6000's config space size to 0x600 bytes.
    
    Signed-off-by: Jason S. McMullan <jason.mcmullan at netronome.com>
    [simon: edited changelog]
    Signed-off-by: Simon Horman <simon.horman at netronome.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>

commit a755e169031dac9ebaed03302c4921687c271d62
Author: Jason S. McMullan <jason.mcmullan at netronome.com>
Date:   Wed Sep 30 15:35:06 2015 +0900

    PCI: Add Netronome vendor and device IDs
    
    Device IDs for the Netronome NFP3200, NFP3240, NFP6000, and NFP6000 SR-IOV
    devices.
    
    Signed-off-by: Jason S. McMullan <jason.mcmullan at netronome.com>
    [simon: edited changelog]
    Signed-off-by: Simon Horman <simon.horman at netronome.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>

commit c20aecf6963d1273d8f6d61c042b4845441ca592
Author: Jason S. McMullan <jason.mcmullan at netronome.com>
Date:   Wed Sep 30 15:35:05 2015 +0900

    PCI: Support PCIe devices with short cfg_size
    
    If a device quirk modifies the pci_dev->cfg_size to be less than
    PCI_CFG_SPACE_EXP_SIZE (4096), but greater than PCI_CFG_SPACE_SIZE (256),
    the PCI sysfs interface truncates the readable size to PCI_CFG_SPACE_SIZE.
    
    Allow sysfs access to config space up to cfg_size, even if the device
    doesn't support the entire 4096-byte PCIe config space.
    
    Note that pci_read_config() and pci_write_config() limit access to
    dev->cfg_size even though pcie_config_attr contains 4096 (the maximum
    size).
    
    Signed-off-by: Jason S. McMullan <jason.mcmullan at netronome.com>
    [simon: edited changelog]
    Signed-off-by: Simon Horman <simon.horman at netronome.com>
    [bhelgaas: more changelog edits]
    Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>





More information about the kernel-team mailing list