linux/drivers/net/ixgbe
John Fastabend 53bb9f80b3 ixgbe: DCB, only reprogram HW if the FCoE priority is changed
If the FCoE priority is not changing do not set the RESET and
APP_UPCHG bits. This causes unneeded HW resets and which can
cause unneeded LLDP frames and negotiations.

The current check is not sufficient because the FCoE priority
can change twice during a negotiation which results in the
bits being set. This occurs when the switch changes the
priority or when the link is reset with switches that do not
include the APP priority until after PFC has been negotiated.

This results in set_app being called with the local APP
priority. Then the negotiation completes and set_app
is called again with the peer APP priority. The check
fails so the device is reset and the above occurs again
resulting in an endless loop of resets.

By only resetting the device if the APP priority has really
changed we short circuit the loop.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-02-11 08:43:14 -08:00
..
ixgbe_82598.c ixgbe: make silicon specific functions generic 2010-11-16 19:27:15 -08:00
ixgbe_82599.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
ixgbe_common.c ixgbe: limit VF access to network traffic 2011-02-08 01:20:00 -08:00
ixgbe_common.h ixgbe: Add anti-spoofing feature support 2010-12-24 21:41:06 -08:00
ixgbe_dcb_82598.c ixgbe: DCB set PFC high and low water marks per data sheet specs 2010-11-16 19:26:44 -08:00
ixgbe_dcb_82598.h ixgbe: declare functions as static 2010-10-14 10:49:43 -07:00
ixgbe_dcb_82599.c ixgbe: DCB set PFC high and low water marks per data sheet specs 2010-11-16 19:26:44 -08:00
ixgbe_dcb_82599.h ixgbe: DCB, fix TX hang occurring in stress condition with PFC 2010-10-28 10:19:00 -07:00
ixgbe_dcb_nl.c ixgbe: DCB, only reprogram HW if the FCoE priority is changed 2011-02-11 08:43:14 -08:00
ixgbe_dcb.c ixgbe: add support for x540 MAC 2010-11-16 19:27:17 -08:00
ixgbe_dcb.h ixgbe: DCB: credit max only needs to be gt TSO size for 82598 2010-11-16 19:26:45 -08:00
ixgbe_ethtool.c ixgbe: update ntuple filter configuration 2011-01-09 23:44:12 -08:00
ixgbe_fcoe.c ixgbe: cleanup variable initialization 2011-02-08 01:22:21 -08:00
ixgbe_fcoe.h ixgbe: add a refcnt when turning on/off FCoE offload capability 2010-10-21 03:55:23 -07:00
ixgbe_main.c ixgbe: update version string 2011-02-08 01:23:10 -08:00
ixgbe_mbx.c ixgbe: Add SR-IOV feature support to X540 2010-12-24 21:40:32 -08:00
ixgbe_mbx.h ixgbe: make silicon specific functions generic 2010-11-16 19:27:15 -08:00
ixgbe_phy.c ixgbe: fix X540 phy id to correct value 2010-12-10 22:12:46 -08:00
ixgbe_phy.h ixgbe: add MAC and PHY support for x540 2010-11-16 19:27:16 -08:00
ixgbe_sriov.c ixgbe: limit VF access to network traffic 2011-02-08 01:20:00 -08:00
ixgbe_sriov.h ixgbe: update copyright info 2010-10-21 03:55:21 -07:00
ixgbe_type.h ixgbe: update ntuple filter configuration 2011-01-09 23:44:12 -08:00
ixgbe_x540.c ixgbe: fix variable set but not used warnings by gcc 4.6 2011-02-08 01:18:46 -08:00
ixgbe.h ixgbe: update ntuple filter configuration 2011-01-09 23:44:12 -08:00
Makefile ixgbe: add MAC and PHY support for x540 2010-11-16 19:27:16 -08:00