bnx2x: dcb bit indices flags used as bits
authorYuval Mintz <yuvalmin@broadcom.com>
Mon, 12 Mar 2012 11:22:06 +0000 (11:22 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 Mar 2012 00:01:25 +0000 (17:01 -0700)
DCB flags were updated using the flags' bit offsets instead of
the actual bits. This is now fixed.

Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.c

index 7aee469..99389c8 100644 (file)
@@ -1934,7 +1934,7 @@ int bnx2x_nic_load(struct bnx2x *bp, int load_mode)
        }
 
        if (bp->port.pmf)
-               bnx2x_update_drv_flags(bp, DRV_FLAGS_DCB_CONFIGURED, 0);
+               bnx2x_update_drv_flags(bp, 1 << DRV_FLAGS_DCB_CONFIGURED, 0);
        else
                bnx2x__link_status_update(bp);
 
index 5051cf3..6d82ade 100644 (file)
@@ -735,7 +735,9 @@ void bnx2x_dcbx_set_params(struct bnx2x *bp, u32 state)
                                                 bp->dcbx_error);
 
                        /* mark DCBX result for PMF migration */
-                       bnx2x_update_drv_flags(bp, DRV_FLAGS_DCB_CONFIGURED, 1);
+                       bnx2x_update_drv_flags(bp,
+                                              1 << DRV_FLAGS_DCB_CONFIGURED,
+                                              1);
 #ifdef BCM_DCBNL
                        /*
                         * Add new app tlvs to dcbnl
@@ -1020,7 +1022,7 @@ void bnx2x_dcbx_init(struct bnx2x *bp)
                DP(NETIF_MSG_LINK, "dcbx_lldp_params_offset 0x%x\n",
                   dcbx_lldp_params_offset);
 
-               bnx2x_update_drv_flags(bp, DRV_FLAGS_DCB_CONFIGURED, 0);
+               bnx2x_update_drv_flags(bp, 1 << DRV_FLAGS_DCB_CONFIGURED, 0);
 
                if (SHMEM_LLDP_DCBX_PARAMS_NONE != dcbx_lldp_params_offset) {
                        bnx2x_dcbx_admin_mib_updated_params(bp,
@@ -1857,7 +1859,7 @@ void bnx2x_dcbx_pmf_update(struct bnx2x *bp)
         * read it from shmem and update bp and netdev accordingly
         */
        if (SHMEM2_HAS(bp, drv_flags) &&
-          GET_FLAGS(SHMEM2_RD(bp, drv_flags), DRV_FLAGS_DCB_CONFIGURED)) {
+          GET_FLAGS(SHMEM2_RD(bp, drv_flags), 1 << DRV_FLAGS_DCB_CONFIGURED)) {
                /* Read neg results if dcbx is in the FW */
                if (bnx2x_dcbx_read_shmem_neg_results(bp))
                        return;