]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
ixgbe: properly toggling netdev feature flags when disabling FCoE
authorYi Zou <yi.zou@intel.com>
Mon, 19 Jul 2010 13:59:52 +0000 (13:59 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 20 Jul 2010 03:23:37 +0000 (20:23 -0700)
commit5e09d7f6305fc9a1141bef116c7c02756d3bfa16
tree6bb60b9738d4a504181cfc9b6afaf016563b2faf
parentd6ea7c9ccc9fd351fa2675304695d1654331fca3
ixgbe: properly toggling netdev feature flags when disabling FCoE

When FCoE is disabled, there is a race condition that FCoE offload is
turned off but the FCoE protocol driver is still queuing I/O thinking
offload support still exists. This patch toggles off corresponding FCoE
netdev feature flags and notify the FCoE stack first, allowing FCoE
protocol stack driver to update its flags upon NETDEV_FEAT_CHANGE so no
I/O will be using offload.

Also, indicate FCoE offload flags in vlan_features in ixgbe_probe once
and do not toggle them in ixgbe_fcoe_enable/disable so when FCoE is
created on the VLAN interface, vlan_transfer_features() would properly
update the VLAN netdev features flag and notify the FCoE protocol driver
for NETDEV_FEAT_CHANGE.

Signed-off-by: Yi Zou <yi.zou@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ixgbe/ixgbe_fcoe.c
drivers/net/ixgbe/ixgbe_main.c