diff options
author | Mitch Williams <mitch.a.williams@intel.com> | 2015-12-09 15:50:27 -0800 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2016-02-03 20:23:45 -0800 |
commit | 209dc4daf23f92b3e0bc6d602411506c4083e421 (patch) | |
tree | ce5a8795928c61a2497ea4d2e9cb1d4c3e1cd3d7 /Makefile | |
parent | 48b1804ee3cdad7bf115666eb35edf12a734710f (diff) | |
download | lwn-209dc4daf23f92b3e0bc6d602411506c4083e421.tar.gz lwn-209dc4daf23f92b3e0bc6d602411506c4083e421.zip |
i40evf: allow channel bonding of VFs
In some modes, bonding would not enslave VF interfaces. This is due to
bonding calling change_mtu and the immediately calling open. Because of
the asynchronous nature of the admin queue mechanism, the VF returns
-EBUSY to the open call, because it knows the previous operation hasn't
finished yet. This causes bonding to fail with a less-than-useful error
message.
To fix this, remove the check for pending operations at the beginning of
open. But this introduces a new bug where the driver will panic on a
quick close/open cycle. To fix that, we add a new driver state,
__I40EVF_DOWN_PENDING, that the driver enters when down is called. The
driver finally transitions to a fully DOWN state when it receives
confirmation from the PF driver that all the queues are disabled. This
allows open to complete even if there is a pending mtu change, and
bonding is finally happy.
Change-ID: I06f4c7e435d5bacbfceaa7c3f209e0ff04be21cc
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'Makefile')
0 files changed, 0 insertions, 0 deletions