@@ -1453,6 +1453,7 @@ mlxsw_devlink_info_get(struct devlink *devlink, struct devlink_info_req *req,
struct netlink_ext_ack *extack)
{
struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
+ struct device *dev = mlxsw_core->bus_info->dev;
char fw_info_psid[MLXSW_REG_MGIR_FW_INFO_PSID_SIZE];
u32 hw_rev, fw_major, fw_minor, fw_sub_minor;
char mgir_pl[MLXSW_REG_MGIR_LEN];
@@ -1460,7 +1461,7 @@ mlxsw_devlink_info_get(struct devlink *devlink, struct devlink_info_req *req,
int err;
err = devlink_info_driver_name_put(req,
- mlxsw_core->bus_info->device_kind);
+ dev_driver_string(dev->parent));
if (err)
return err;
Currently, mlxsw_devlink_info_get() reports the device_kind. The device_kind is not necessarily the same as the device_name. For example, the mlxsw_i2c implementation sets up the device_kind as ic2_client::name in [1] which indicates the type of the device (e.g. chip name). Fix it so that it correctly reports the driver name. [1] https://elixir.bootlin.com/linux/v6.1-rc1/source/drivers/net/ethernet/mellanox/mlxsw/i2c.c#L714 Fixes: a9c8336f6544 ("mlxsw: core: Add support for devlink info command") CC: Shalom Toledo <shalomt@mellanox.com> CC: Ido Schimmel <idosch@mellanox.com> CC: Vadim Pasternak <vadimp@mellanox.com> Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr> --- drivers/net/ethernet/mellanox/mlxsw/core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)