diff options
author | Dmitry Kravkov <dmitry@broadcom.com> | 2013-08-19 10:11:57 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-08-20 11:21:47 +0400 |
commit | 07b4eb3b53f692a75fc0bc35c43345f331b7cca4 (patch) | |
tree | 24bfdbb54368860a976a16a161f1ce1077e7df71 /drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.h | |
parent | 9156b30b33acaef9ce602fb31230154f13af4881 (diff) | |
download | linux-07b4eb3b53f692a75fc0bc35c43345f331b7cca4.tar.xz |
bnx2x: Change DCB context handling
After notification that DCBX configuration has ended arrived to the driver,
the driver configured the FW/HW in sleepless context.
As a result, it was possible to reach a race (mostly with CNIC registration)
in which the configuration will return a timeout, failing to set the DCBX
results correctly.
This patch moves the configuration following the DCBX end into the slowpath
RTNL task (i.e., sleepless context protected by the RTNL lock), allowing the
configuration to cope with such races.
Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Ariel Elior <ariele@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/bnx2x_dcb.h')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.h index 125bd1b6586f..804b8f64463e 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.h +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.h @@ -199,4 +199,7 @@ extern const struct dcbnl_rtnl_ops bnx2x_dcbnl_ops; int bnx2x_dcbnl_update_applist(struct bnx2x *bp, bool delall); #endif /* BCM_DCBNL */ +int bnx2x_dcbx_stop_hw_tx(struct bnx2x *bp); +int bnx2x_dcbx_resume_hw_tx(struct bnx2x *bp); + #endif /* BNX2X_DCB_H */ |