lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 2 Aug 2021 09:57:40 +0530 From: Kalesh A P <kalesh-anakkur.purayil@...adcom.com> To: davem@...emloft.net, kuba@...nel.org, jiri@...dia.com Cc: netdev@...r.kernel.org, edwin.peer@...adcom.com, michael.chan@...adcom.com Subject: [PATCH net-next 2/2] bnxt_en: Add device capabilities to devlink info_get cb From: Kalesh AP <kalesh-anakkur.purayil@...adcom.com> HWRM_VER_GET and FUNC_QCAPS command response provides the support to indicate various device capabilities. Expose these details via the devlink info. Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@...adcom.com> Reviewed-by: Edwin Peer <edwin.peer@...adcom.com> --- drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 31 +++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c index 64381be..0ae5f47 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c @@ -379,6 +379,25 @@ static int bnxt_hwrm_get_nvm_cfg_ver(struct bnxt *bp, return rc; } +static int bnxt_dl_dev_capability_info_put(struct bnxt *bp, struct devlink_info_req *req) +{ + int rc; + + if (bp->fw_cap & BNXT_FW_CAP_HOT_RESET) { + rc = devlink_info_device_capability_put(req, "hot_reset"); + if (rc) + return rc; + } + + if (bp->fw_cap & BNXT_FW_CAP_ERROR_RECOVERY) { + rc = devlink_info_device_capability_put(req, "error_recovery"); + if (rc) + return rc; + } + + return 0; +} + static int bnxt_dl_info_put(struct bnxt *bp, struct devlink_info_req *req, enum bnxt_dl_version_type type, const char *key, char *buf) @@ -557,8 +576,16 @@ static int bnxt_dl_info_get(struct devlink *dl, struct devlink_info_req *req, snprintf(roce_ver, FW_VER_STR_LEN, "%d.%d.%d.%d", nvm_dev_info.roce_fw_major, nvm_dev_info.roce_fw_minor, nvm_dev_info.roce_fw_build, nvm_dev_info.roce_fw_patch); - return bnxt_dl_info_put(bp, req, BNXT_VERSION_STORED, - DEVLINK_INFO_VERSION_GENERIC_FW_ROCE, roce_ver); + rc = bnxt_dl_info_put(bp, req, BNXT_VERSION_STORED, + DEVLINK_INFO_VERSION_GENERIC_FW_ROCE, roce_ver); + if (rc) + return rc; + + rc = bnxt_dl_dev_capability_info_put(bp, req); + if (rc) + return rc; + + return 0; } static int bnxt_hwrm_nvm_req(struct bnxt *bp, u32 param_id, void *msg, -- 2.10.1
Powered by blists - more mailing lists