bnxt_en: Read package version from firmware.
HWRM_VER_GET firmware command returns package name that is running actively on the adapter. Use this version instead of parsing from the package log in NVRAM. Signed-off-by: Vasundhara Volam <vasundhara-v.volam@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
6154532fe8
commit
691aa62045
@ -6693,6 +6693,15 @@ static int bnxt_hwrm_ver_get(struct bnxt *bp)
|
||||
resp->hwrm_fw_maj_8b, resp->hwrm_fw_min_8b,
|
||||
resp->hwrm_fw_bld_8b, resp->hwrm_fw_rsvd_8b);
|
||||
|
||||
if (strlen(resp->active_pkg_name)) {
|
||||
int fw_ver_len = strlen(bp->fw_ver_str);
|
||||
|
||||
snprintf(bp->fw_ver_str + fw_ver_len,
|
||||
FW_VER_STR_LEN - fw_ver_len - 1, "/pkg %s",
|
||||
resp->active_pkg_name);
|
||||
bp->fw_cap |= BNXT_FW_CAP_PKG_VER;
|
||||
}
|
||||
|
||||
bp->hwrm_cmd_timeout = le16_to_cpu(resp->def_req_timeout);
|
||||
if (!bp->hwrm_cmd_timeout)
|
||||
bp->hwrm_cmd_timeout = DFLT_HWRM_CMD_TIMEOUT;
|
||||
|
@ -1481,6 +1481,7 @@ struct bnxt {
|
||||
#define BNXT_FW_CAP_KONG_MB_CHNL 0x00000080
|
||||
#define BNXT_FW_CAP_OVS_64BIT_HANDLE 0x00000400
|
||||
#define BNXT_FW_CAP_TRUSTED_VF 0x00000800
|
||||
#define BNXT_FW_CAP_PKG_VER 0x00004000
|
||||
#define BNXT_FW_CAP_PCIE_STATS_SUPPORTED 0x00020000
|
||||
#define BNXT_FW_CAP_EXT_STATS_SUPPORTED 0x00040000
|
||||
|
||||
|
@ -3305,7 +3305,8 @@ void bnxt_ethtool_init(struct bnxt *bp)
|
||||
struct net_device *dev = bp->dev;
|
||||
int i, rc;
|
||||
|
||||
bnxt_get_pkgver(dev);
|
||||
if (!(bp->fw_cap & BNXT_FW_CAP_PKG_VER))
|
||||
bnxt_get_pkgver(dev);
|
||||
|
||||
if (bp->hwrm_spec_code < 0x10704 || !BNXT_SINGLE_PF(bp))
|
||||
return;
|
||||
|
Loading…
x
Reference in New Issue
Block a user