Re: [PATCHv2 0/4] PCI VPD access fixes

From: Babu Moger
Date: Tue Jan 19 2016 - 15:54:05 EST


Hi,

On 1/13/2016 5:25 AM, Hannes Reinecke wrote:
> Hi all,
>
> the current PCI VPD page access assumes that the entire possible VPD
> data is readable. However, the spec only guarantees a VPD data up to
> the 'end' marker, with everything beyond that being undefined.
> This causes a system lockup on certain devices.
>
> With this patch we always set the VPD sysfs attribute size to '0', and
> calculate the available VPD size on the first access.
> If no valid data can be read an I/O error is returned.
>
> I've also included the patch from Babu to blacklists devices which
> are known to lockup when accessing the VPD data.
>
> Babu Moger (1):
> pci: Blacklist vpd access for buggy devices
>
> Hannes Reinecke (3):
> pci: Update VPD definitions
> pci: allow access to VPD attributes with size '0'
> pci: Determine actual VPD size on first access
>
> drivers/pci/access.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++-
> drivers/pci/pci-sysfs.c | 22 ++++++++------
> drivers/pci/quirks.c | 41 +++++++++++++++++++++++++
> include/linux/pci.h | 27 +++++++++++++++--
> 4 files changed, 157 insertions(+), 12 deletions(-)
>

Resending the patch 4/4. Added Atheros controller(0x1969:0x1026) in blacklist.
Jordan confirmed the Vendor and Device id(0x1969:0x1026). Here is the device.
09:00.0 Ethernet controller: Atheros Communications AR8121/AR8113/AR8114 Gigabit or Fast Ethernet (rev b0)