PCI quirk required for correct access to configuration space of NFP 4000/6000
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Trusty |
Fix Released
|
Medium
|
Tim Gardner |
Bug Description
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_
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 backports be made to the Ubuntu 13.0
kernel for Trusty 14.04 LTS. They are as follows:
commit c2e771b02792d22
Author: Simon Horman <email address hidden>
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_
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 <email address hidden>
Signed-off-by: Bjorn Helgaas <email address hidden>
commit 69874ec233871a6
Author: Simon Horman <email address hidden>
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_
Signed-off-by: Simon Horman <email address hidden>
Signed-off-by: Bjorn Helgaas <email address hidden>
commit 9f33a2ae59f2445
Author: Jason S. McMullan <email address hidden>
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 <email address hidden>
[simon: edited changelog]
Signed-off-by: Simon Horman <email address hidden>
Signed-off-by: Bjorn Helgaas <email address hidden>
commit a755e169031dac9
Author: Jason S. McMullan <email address hidden>
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 <email address hidden>
[simon: edited changelog]
Signed-off-by: Simon Horman <email address hidden>
Signed-off-by: Bjorn Helgaas <email address hidden>
commit c20aecf6963d127
Author: Jason S. McMullan <email address hidden>
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_
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 <email address hidden>
[simon: edited changelog]
Signed-off-by: Simon Horman <email address hidden>
[bhelgaas: more changelog edits]
Signed-off-by: Bjorn Helgaas <email address hidden>
Changed in linux (Ubuntu): | |
importance: | Undecided → Medium |
status: | Confirmed → Triaged |
Changed in linux (Ubuntu Trusty): | |
importance: | Undecided → Medium |
status: | New → Triaged |
tags: | added: kernel-da-key trusty |
Changed in linux (Ubuntu Trusty): | |
status: | In Progress → Fix Committed |
tags: |
added: verification-done-trusty removed: verification-needed-trusty |
This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:
apport-collect 1624267
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.