qed: Fix sending an invalid PFC error mask to MFW.
authorsudarsana.kalluru@cavium.com <sudarsana.kalluru@cavium.com>
Wed, 19 Apr 2017 10:19:53 +0000 (03:19 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 20 Apr 2017 20:29:39 +0000 (16:29 -0400)
PFC error-mask value is not supported by MFW, but this bit could be
set in the pfc bit-map of the operational parameters if remote device
supports it. These operational parameters are used as basis for
populating the dcbx config parameters. User provided configs will be
applied on top of these parameters and then send them to MFW when
requested. Driver need to clear the error-mask bit before sending the
config parameters to MFW.

Signed-off-by: Sudarsana Reddy Kalluru <Sudarsana.Kalluru@cavium.com>
Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qed/qed_dcbx.c

index c24436c911f3f2cba8151b1851080b5cb3b2dac8..ff058a380003c2737ee1f31f638030da59314e1f 100644 (file)
@@ -1008,6 +1008,8 @@ qed_dcbx_set_pfc_data(struct qed_hwfn *p_hwfn,
        u8 pfc_map = 0;
        int i;
 
+       *pfc &= ~DCBX_PFC_ERROR_MASK;
+
        if (p_params->pfc.willing)
                *pfc |= DCBX_PFC_WILLING_MASK;
        else