Skip to content

Commit fed7edd

Browse files
Michael Chandavem330
authored andcommitted
bnxt_en: Do not enable legacy TX push on older firmware.
Older firmware may not support legacy TX push properly and may not be disabling it. So we check certain firmware versions that may have this problem and disable legacy TX push unconditionally. Fixes: c0c050c ("bnxt_en: New Broadcom ethernet driver.") Reviewed-by: Edwin Peer <[email protected]> Signed-off-by: Michael Chan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent d0ad2ea commit fed7edd

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

drivers/net/ethernet/broadcom/bnxt/bnxt.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6976,7 +6976,8 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
69766976
bp->fw_cap |= BNXT_FW_CAP_ERR_RECOVER_RELOAD;
69776977

69786978
bp->tx_push_thresh = 0;
6979-
if (flags & FUNC_QCAPS_RESP_FLAGS_PUSH_MODE_SUPPORTED)
6979+
if ((flags & FUNC_QCAPS_RESP_FLAGS_PUSH_MODE_SUPPORTED) &&
6980+
BNXT_FW_MAJ(bp) > 217)
69806981
bp->tx_push_thresh = BNXT_TX_PUSH_THRESH;
69816982

69826983
hw_resc->max_rsscos_ctxs = le16_to_cpu(resp->max_rsscos_ctx);

drivers/net/ethernet/broadcom/bnxt/bnxt.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1749,6 +1749,7 @@ struct bnxt {
17491749
u64 fw_ver_code;
17501750
#define BNXT_FW_VER_CODE(maj, min, bld, rsv) \
17511751
((u64)(maj) << 48 | (u64)(min) << 32 | (u64)(bld) << 16 | (rsv))
1752+
#define BNXT_FW_MAJ(bp) ((bp)->fw_ver_code >> 48)
17521753

17531754
__be16 vxlan_port;
17541755
u8 vxlan_port_cnt;

0 commit comments

Comments
 (0)