linux/drivers/net/ethernet/intel
Sudheer Mogilappagari fe2647ab0c i40evf: prevent VF close returning before state transitions to DOWN
Currently i40evf_close() can return before state transitions to
__I40EVF_DOWN because of the latency involved in processing and
receiving response from PF driver and scheduling of VF watchdog_task.
Due to this inconsistency an immediate call to i40evf_open() fails
because state is still DOWN_PENDING.

When a VF interface is in up state and we try to add it as slave,
The bonding driver calls dev_close() and dev_open() in short duration
resulting in dev_open returning error. The ifenslave command needs
to be run again for dev_open to succeed.

This fix ensures that watchdog timer is scheduled immediately after
admin queue operations are scheduled in i40evf_down(). In addition a
wait condition is added at the end of i40evf_close so that function
wont return when state is still DOWN_PENDING. The timeout value is
chosen after some profiling and includes some buffer.

Signed-off-by: Sudheer Mogilappagari <sudheer.mogilappagari@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-08-25 14:45:55 -07:00
..
e1000 networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
e1000e e1000e: Initial Support for IceLake 2017-08-08 17:54:21 -07:00
fm10k net: sched: get rid of struct tc_to_netdev 2017-08-07 09:42:37 -07:00
i40e i40e/i40evf: adjust packet size to account for double VLANs 2017-08-25 14:45:28 -07:00
i40evf i40evf: prevent VF close returning before state transitions to DOWN 2017-08-25 14:45:55 -07:00
igb igb: support BCM54616 PHY 2017-08-08 18:09:12 -07:00
igbvf igbvf: convert msleep to mdelay in atomic context 2017-08-08 18:08:00 -07:00
ixgb ixgb: Omit private ndo_get_stats function 2017-04-20 16:18:45 -07:00
ixgbe ixgbe: use return codes from ndo_xdp_xmit that are distinguishable 2017-08-24 11:59:37 -07:00
ixgbevf ixgbe: Initialize 64-bit stats seqcounts 2017-08-01 20:06:07 -07:00
e100.c net/{mii, smsc}: Make mii_ethtool_get_link_ksettings and smc_netdev_get_ecmd return void 2017-06-05 11:00:42 -04:00
Kconfig i40evf: Add support for Adaptive Virtual Function 2017-06-01 14:30:02 -07:00
Makefile