Skip to content

Commit

Permalink
net: ethtool: Enhance error messages sent to user space
Browse files Browse the repository at this point in the history
During the firmware flashing process, notifications are sent to user
space to provide progress updates. When an error occurs, an error
message is sent to indicate what went wrong.

In some cases, appropriate error messages are missing.

Add relevant error messages where applicable, allowing user space to better
understand the issues encountered.

Signed-off-by: Danielle Ratson <danieller@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20240910091044.3044568-1-danieller@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
daniellerts authored and kuba-moo committed Sep 14, 2024
1 parent 6503734 commit 716425d
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions net/ethtool/cmis_cdb.c
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,8 @@ static u8 cmis_cdb_advert_rpl_inst_supported(struct cmis_cdb_advert_rpl *rpl)
}

static int cmis_cdb_advertisement_get(struct ethtool_cmis_cdb *cdb,
struct net_device *dev)
struct net_device *dev,
struct ethnl_module_fw_flash_ntf_params *ntf_params)
{
const struct ethtool_ops *ops = dev->ethtool_ops;
struct ethtool_module_eeprom page_data = {};
Expand All @@ -119,8 +120,12 @@ static int cmis_cdb_advertisement_get(struct ethtool_cmis_cdb *cdb,
return err;
}

if (!cmis_cdb_advert_rpl_inst_supported(&rpl))
if (!cmis_cdb_advert_rpl_inst_supported(&rpl)) {
ethnl_module_fw_flash_ntf_err(dev, ntf_params,
"CDB functionality is not supported",
NULL);
return -EOPNOTSUPP;
}

cdb->read_write_len_ext = rpl.read_write_len_ext;

Expand Down Expand Up @@ -282,7 +287,7 @@ ethtool_cmis_cdb_init(struct net_device *dev,
goto err;
}

err = cmis_cdb_advertisement_get(cdb, dev);
err = cmis_cdb_advertisement_get(cdb, dev, ntf_params);
if (err < 0)
goto err;

Expand Down Expand Up @@ -444,6 +449,9 @@ static void cmis_cdb_status_fail_msg_get(u8 status, char **err_msg)
case 0b01000101:
*err_msg = "CDB status failed: CdbChkCode error";
break;
case 0b01000110:
*err_msg = "CDB status failed: Password error";
break;
default:
*err_msg = "Unknown failure reason";
}
Expand Down

0 comments on commit 716425d

Please sign in to comment.