diff options
| author | Dmitry Kravkov <dmitry@broadcom.com> | 2013-11-17 01:59:26 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2013-11-18 15:45:44 -0500 |
| commit | a0d307b21025106157709521d5b88831530e2112 (patch) | |
| tree | 4c1c3293aefda4b5d2e6b58be4591980edd49cb4 | |
| parent | eca42aaf898c31db1fd04850fb4dc584c9184c49 (diff) | |
bnx2x: Clean the sp rtnl task upon unload
While unloading, bnx2x needs to clean the sp_rtnl_state to prevent
configuration made before the unload to be applied afterwards with
stale values.
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: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c index dcafbda3e5be..ec96130533cc 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | |||
| @@ -2959,6 +2959,10 @@ int bnx2x_nic_unload(struct bnx2x *bp, int unload_mode, bool keep_link) | |||
| 2959 | 2959 | ||
| 2960 | bp->port.pmf = 0; | 2960 | bp->port.pmf = 0; |
| 2961 | 2961 | ||
| 2962 | /* clear pending work in rtnl task */ | ||
| 2963 | bp->sp_rtnl_state = 0; | ||
| 2964 | smp_mb(); | ||
| 2965 | |||
| 2962 | /* Free SKBs, SGEs, TPA pool and driver internals */ | 2966 | /* Free SKBs, SGEs, TPA pool and driver internals */ |
| 2963 | bnx2x_free_skbs(bp); | 2967 | bnx2x_free_skbs(bp); |
| 2964 | if (CNIC_LOADED(bp)) | 2968 | if (CNIC_LOADED(bp)) |
