ACK: [SRU][F/Oracle][PATCH 2/3] bnxt_en: Do not enable legacy TX push on older firmware.

William Breathitt Gray william.gray at canonical.com
Thu Aug 20 17:55:01 UTC 2020


On Thu, Aug 20, 2020 at 12:57:47PM -0400, Khalid Elmously wrote:
> From: Michael Chan <michael.chan at broadcom.com>
> 
> BugLink: http://bugs.launchpad.net/bugs/1892397
> 
> 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: c0c050c58d84 ("bnxt_en: New Broadcom ethernet driver.")
> Reviewed-by: Edwin Peer <edwin.peer at broadcom.com>
> Signed-off-by: Michael Chan <michael.chan at broadcom.com>
> Signed-off-by: David S. Miller <davem at davemloft.net>
> (cherry picked from commit fed7edd18143c68c63ea049999a7e861123de6de)
> Signed-off-by: Khalid Elmously <khalid.elmously at canonical.com>

Acked-by: William Breathitt Gray <william.gray at canonical.com>

> ---
>  drivers/net/ethernet/broadcom/bnxt/bnxt.c | 3 ++-
>  drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 +
>  2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
> index 3c398c7632c9..93d02e8339c4 100644
> --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
> +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
> @@ -6960,7 +6960,8 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
>  		bp->fw_cap |= BNXT_FW_CAP_ERR_RECOVER_RELOAD;
>  
>  	bp->tx_push_thresh = 0;
> -	if (flags & FUNC_QCAPS_RESP_FLAGS_PUSH_MODE_SUPPORTED)
> +	if ((flags & FUNC_QCAPS_RESP_FLAGS_PUSH_MODE_SUPPORTED) &&
> +	    BNXT_FW_MAJ(bp) > 217)
>  		bp->tx_push_thresh = BNXT_TX_PUSH_THRESH;
>  
>  	hw_resc->max_rsscos_ctxs = le16_to_cpu(resp->max_rsscos_ctx);
> diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
> index 2f428cb486b8..2e7575b944aa 100644
> --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h
> +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
> @@ -1702,6 +1702,7 @@ struct bnxt {
>  	u64			fw_ver_code;
>  #define BNXT_FW_VER_CODE(maj, min, bld, rsv)			\
>  	((u64)(maj) << 48 | (u64)(min) << 32 | (u64)(bld) << 16 | (rsv))
> +#define BNXT_FW_MAJ(bp)		((bp)->fw_ver_code >> 48)
>  
>  	__be16			vxlan_port;
>  	u8			vxlan_port_cnt;
> -- 
> 2.17.1
> 
> 
> -- 
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20200820/da9c3bb8/attachment.sig>


More information about the kernel-team mailing list