bnxt_en: reverse order of TX disable and carrier off
A TX queue can potentially immediately timeout after it is stopped and the last TX timestamp on that queue was more than 5 seconds ago with carrier still up. Prevent these intermittent false TX timeouts by bringing down carrier first before calling netif_tx_disable(). Fixes: c0c050c58d84 ("bnxt_en: New Broadcom ethernet driver.") Signed-off-by: Edwin Peer <edwin.peer@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d4083d3c00
commit
132e0b65dc
@ -8856,9 +8856,10 @@ void bnxt_tx_disable(struct bnxt *bp)
|
||||
txr->dev_state = BNXT_DEV_STATE_CLOSING;
|
||||
}
|
||||
}
|
||||
/* Drop carrier first to prevent TX timeout */
|
||||
netif_carrier_off(bp->dev);
|
||||
/* Stop all TX queues */
|
||||
netif_tx_disable(bp->dev);
|
||||
netif_carrier_off(bp->dev);
|
||||
}
|
||||
|
||||
void bnxt_tx_enable(struct bnxt *bp)
|
||||
|
Loading…
x
Reference in New Issue
Block a user