aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/igbvf/vf.h
diff options
context:
space:
mode:
authorGreg Edwards <gedwards@ddn.com>2017-07-20 10:00:57 -0600
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2017-08-08 17:59:03 -0700
commit32652c2ac2f330d2c159d8259f359da0ee2b0aa3 (patch)
tree8b41043e18e752a0d20a3ba601a8dcc1e382c2b1 /drivers/net/ethernet/intel/igbvf/vf.h
parente1000e: Initial Support for IceLake (diff)
downloadlinux-dev-32652c2ac2f330d2c159d8259f359da0ee2b0aa3.tar.xz
linux-dev-32652c2ac2f330d2c159d8259f359da0ee2b0aa3.zip
igbvf: add lock around mailbox ops
The PF driver assumes the VF will not send another mailbox message until the PF has written its reply to the previous message. If the VF does, that message will be silently dropped by the PF before it writes its reply to the mailbox. This results in a VF mailbox timeout for posted messages waiting for an ACK, and the VF is reset by the igbvf_watchdog_task in the VM. Add a lock around the VF mailbox ops to prevent the VF from sending another message while the PF is still processing the previous one. Signed-off-by: Greg Edwards <gedwards@ddn.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/igbvf/vf.h')
-rw-r--r--drivers/net/ethernet/intel/igbvf/vf.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igbvf/vf.h b/drivers/net/ethernet/intel/igbvf/vf.h
index 4cf78b0dec50..d213eefb6169 100644
--- a/drivers/net/ethernet/intel/igbvf/vf.h
+++ b/drivers/net/ethernet/intel/igbvf/vf.h
@@ -245,6 +245,7 @@ struct e1000_hw {
struct e1000_mac_info mac;
struct e1000_mbx_info mbx;
+ spinlock_t mbx_lock; /* serializes mailbox ops */
union {
struct e1000_dev_spec_vf vf;