linux-brain/drivers/net/ethernet/chelsio/cxgb4
Casey Leedom c529ff4306 PCI/cxgb4: Extend T3 PCI quirk to T4+ devices
commit 7dcf688d4c upstream.

We've run into a problem where our device is attached
to a Virtual Machine and the use of the new pci_set_vpd_size()
API doesn't help.  The VM kernel has been informed that
the accesses are okay, but all of the actual VPD Capability
Accesses are trapped down into the KVM Hypervisor where it
goes ahead and imposes the silent denials.

The right idea is to follow the kernel.org
commit 1c7de2b4ff ("PCI: Enable access to non-standard VPD for
Chelsio devices (cxgb3)") which Alexey Kardashevskiy authored
to establish a PCI Quirk for our T3-based adapters. This commit
extends that PCI Quirk to cover Chelsio T4 devices and later.

The advantage of this approach is that the VPD Size gets set early
in the Base OS/Hypervisor Boot and doesn't require that the cxgb4
driver even be available in the Base OS/Hypervisor.  Thus PF4 can
be exported to a Virtual Machine and everything should work.

Fixes: 67e658794c ("cxgb4: Set VPD size so we can read both VPD structures")
Cc: <stable@vger.kernel.org>  # v4.9+
Signed-off-by: Casey Leedom <leedom@chelsio.com>
Signed-off-by: Arjun Vynipadath <arjun@chelsio.com>
Signed-off-by: Ganesh Goudar <ganeshgr@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-02-28 10:18:31 +01:00
..
Makefile cxgb4: add support for offloading u32 filters 2016-09-22 01:40:01 -04:00
clip_tbl.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-01-06 22:54:18 -05:00
clip_tbl.h cxgb4: Fix incorrect 'c' suffix to %pI4, use %pISc instead 2015-02-20 17:25:52 -05:00
cxgb4.h Merge of primary rdma-core code for 4.9 2016-10-09 17:04:33 -07:00
cxgb4_dcb.c cxgb4: DCB message handler needs to use correct portid to netdev mapping 2016-04-26 13:23:57 -04:00
cxgb4_dcb.h cxgb4 : Improve IEEE DCBx support, other minor open-lldp fixes 2015-02-02 18:54:35 -08:00
cxgb4_debugfs.c cxgb4: Convert to use simple_open() 2016-09-22 03:17:34 -04:00
cxgb4_debugfs.h VFS: Fix up some ->d_inode accesses in the chelsio driver 2015-04-15 15:06:54 -04:00
cxgb4_ethtool.c cxgb4/cxgb4vf: Add link mode mask API to cxgb4 and cxgb4vf 2016-07-25 10:26:45 -07:00
cxgb4_fcoe.c cxgb4: fix boolreturn.cocci warnings 2015-03-29 12:15:56 -07:00
cxgb4_fcoe.h cxgb4: add cxgb4_fcoe.h and macro definitions for FCoE 2015-03-24 15:24:38 -04:00
cxgb4_filter.c cxgb4: fix -ve error check on a signed iq 2016-09-25 23:39:46 -04:00
cxgb4_filter.h cxgb4: add common api support for configuring filters 2016-09-22 01:40:01 -04:00
cxgb4_main.c cxgb4: notify uP to route ctrlq compl to rdma rspq 2017-06-29 13:00:29 +02:00
cxgb4_tc_u32.c cxgb4: add support for drop and redirect actions 2016-09-22 01:40:01 -04:00
cxgb4_tc_u32.h cxgb4: add support for offloading u32 filters 2016-09-22 01:40:01 -04:00
cxgb4_tc_u32_parse.h cxgb4: add support for offloading u32 filters 2016-09-22 01:40:01 -04:00
cxgb4_uld.c cxgb4: Fix error handling in alloc_uld_rxqs(). 2016-10-29 14:56:26 -04:00
cxgb4_uld.h Merge of primary rdma-core code for 4.9 2016-10-09 17:04:33 -07:00
l2t.c cxgb4: move VLAN_NONE macro definition 2016-03-22 00:25:05 -07:00
l2t.h cxgb4: move VLAN_NONE macro definition 2016-03-22 00:25:05 -07:00
sched.c cxgb4: fix memory leak of qe on error exit path 2016-10-17 11:24:08 -04:00
sched.h cxgb4: add support for tx max rate limiting 2016-08-22 18:29:13 -07:00
sge.c cxgb4: do not call napi_hash_del() 2016-11-16 17:06:51 -05:00
t4_chip_type.h cxgb4: T6 adapter lld support for iw_cxgb4 driver 2015-10-21 23:16:38 -04:00
t4_hw.c PCI/cxgb4: Extend T3 PCI quirk to T4+ devices 2018-02-28 10:18:31 +01:00
t4_hw.h cxgb4: add new routine to get adapter info 2016-04-26 13:23:56 -04:00
t4_msg.h cxgb4: Register changes and fw defines for crypto 2016-08-18 23:58:28 -07:00
t4_pci_id_tbl.h cxgb4: Add PCI device ID for new adapter 2016-11-30 14:11:47 -05:00
t4_regs.h cxgb4: Update mps_tcam output to include T6 fields 2015-12-23 22:34:45 -05:00
t4_values.h cxgb4/cxgb4vf: For T6 adapter, set FBMIN to 64 bytes 2016-03-02 14:46:29 -05:00
t4fw_api.h Merge of primary rdma-core code for 4.9 2016-10-09 17:04:33 -07:00
t4fw_version.h cxgb4: update latest firmware version supported 2016-07-05 11:53:25 -07:00