• John Fastabend's avatar
    ixgbe: DCB, only reprogram HW if the FCoE priority is changed · 53bb9f80
    John Fastabend authored
    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: default avatarJohn Fastabend <john.r.fastabend@intel.com>
    Tested-by: default avatarRoss Brattain <ross.b.brattain@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    53bb9f80
ixgbe_dcb_nl.c 18.3 KB