PCI: Support PCIe devices with short cfg_size
authorJason S. McMullan <jason.mcmullan@netronome.com>
Wed, 30 Sep 2015 06:35:05 +0000 (15:35 +0900)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 11 Dec 2015 01:38:07 +0000 (19:38 -0600)
commitc20aecf6963d1273d8f6d61c042b4845441ca592
treea8dd6cf72ee59cf4f1172ffe5e37f3cd73cbca72
parent21461775f3d173dedec27a0402d426ba422d80a1
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@netronome.com>
[simon: edited changelog]
Signed-off-by: Simon Horman <simon.horman@netronome.com>
[bhelgaas: more changelog edits]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/pci-sysfs.c