diff options
author | Michael Chan <michael.chan@broadcom.com> | 2017-03-09 00:44:33 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-03-10 02:38:31 +0100 |
commit | b386cd362ffea09d05c56bfa85d104562e860647 (patch) | |
tree | b2c3fea135aec59e064e8279e3e1ee2320cbeea2 /drivers/net/ethernet | |
parent | bnxt_en: Perform function reset earlier during probe. (diff) | |
download | linux-b386cd362ffea09d05c56bfa85d104562e860647.tar.xz linux-b386cd362ffea09d05c56bfa85d104562e860647.zip |
bnxt_en: Call bnxt_ulp_stop() during tx timeout.
If we call bnxt_reset_task() due to tx timeout, we should call
bnxt_ulp_stop() to inform the RDMA driver about the error and the
impending reset.
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 33293ac32779..bbe93713e226 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -6495,8 +6495,14 @@ static void bnxt_reset_task(struct bnxt *bp, bool silent) if (!silent) bnxt_dbg_dump_states(bp); if (netif_running(bp->dev)) { + int rc; + + if (!silent) + bnxt_ulp_stop(bp); bnxt_close_nic(bp, false, false); - bnxt_open_nic(bp, false, false); + rc = bnxt_open_nic(bp, false, false); + if (!silent && !rc) + bnxt_ulp_start(bp); } } |