diff options
author | Barak Witkowski <barak@broadcom.com> | 2012-12-01 23:05:57 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-12-02 20:23:01 -0500 |
commit | 049b467d7a57e7b978ce063ee3639670f383fb5c (patch) | |
tree | cbff13ebf663575da31d962cf7e30cd28420a037 /drivers/net/ethernet/broadcom/bnx2x | |
parent | cd1dfce2ed571bc3d1962987b5c7d2d6e936bb27 (diff) |
bnx2x: Correct PFC disablement
bnx2x driver could only have enabled pfc via usage of dcbnl; now, it can
also correctly disable it.
Signed-off-by: Barak Witkowski <barak@broadcom.com>
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>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnx2x')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.c index c8c034027ce5..10bc093d2ca4 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.c | |||
@@ -2052,10 +2052,13 @@ static void bnx2x_dcbnl_set_pfc_cfg(struct net_device *netdev, int prio, | |||
2052 | if (!bnx2x_dcbnl_set_valid(bp) || prio >= MAX_PFC_PRIORITIES) | 2052 | if (!bnx2x_dcbnl_set_valid(bp) || prio >= MAX_PFC_PRIORITIES) |
2053 | return; | 2053 | return; |
2054 | 2054 | ||
2055 | bp->dcbx_config_params.admin_pfc_bitmap |= ((setting ? 1 : 0) << prio); | ||
2056 | 2055 | ||
2057 | if (setting) | 2056 | if (setting) { |
2057 | bp->dcbx_config_params.admin_pfc_bitmap |= (1 << prio); | ||
2058 | bp->dcbx_config_params.admin_pfc_tx_enable = 1; | 2058 | bp->dcbx_config_params.admin_pfc_tx_enable = 1; |
2059 | } else { | ||
2060 | bp->dcbx_config_params.admin_pfc_bitmap &= ~(1 << prio); | ||
2061 | } | ||
2059 | } | 2062 | } |
2060 | 2063 | ||
2061 | static void bnx2x_dcbnl_get_pfc_cfg(struct net_device *netdev, int prio, | 2064 | static void bnx2x_dcbnl_get_pfc_cfg(struct net_device *netdev, int prio, |