ixgbe: driver fix for link flap
authorMultanen, Eric W <eric.w.multanen@intel.com>
Wed, 28 Mar 2012 07:49:09 +0000 (07:49 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 3 Apr 2012 22:24:57 +0000 (15:24 -0700)
commitaacc1bea190d731755a65cb8ec31dd756f4e263e
treed33b3e8e8d813ed429e63557ecee7b8485c386b1
parent01627d968c8b5e2810fe8c417b406b968297c236
ixgbe: driver fix for link flap

Fix up code so that changes in DCB settings
are detected only when ixgbe_dcbnl_set_all is called.
Previously, a series of 'change' commands followed by
a call to ixgbe_dcbnl_set_all() would always be handled
as a HW change - even if the net change was zero.
This patch checks for this case of no actual change and
skips going through the HW set process.

Without this fix, the link could reset and result in
a link flap.

The core change in this patch is to check for changes
in the ixgbe_copy_dcb_cfg() routine - and return
a bitmask of detected changes.  The other
places where changes were detected previously can be removed.

Signed-off-by: Eric Multanen <eric.w.multanen@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c