Commit 426aa1fc authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller

mlxsw: minimal: Initialize base_mac

Currently base_mac is not initialized which causes wrong reporting of
zeroed parent_id to userspace. Fix this by initializing base_mac
properly.

Fixes: c100e47c ("mlxsw: minimal: Add ethtool support")
Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6bab45b4
...@@ -34,6 +34,18 @@ struct mlxsw_m_port { ...@@ -34,6 +34,18 @@ struct mlxsw_m_port {
u8 module; u8 module;
}; };
static int mlxsw_m_base_mac_get(struct mlxsw_m *mlxsw_m)
{
char spad_pl[MLXSW_REG_SPAD_LEN] = {0};
int err;
err = mlxsw_reg_query(mlxsw_m->core, MLXSW_REG(spad), spad_pl);
if (err)
return err;
mlxsw_reg_spad_base_mac_memcpy_from(spad_pl, mlxsw_m->base_mac);
return 0;
}
static int mlxsw_m_port_dummy_open_stop(struct net_device *dev) static int mlxsw_m_port_dummy_open_stop(struct net_device *dev)
{ {
return 0; return 0;
...@@ -314,6 +326,12 @@ static int mlxsw_m_init(struct mlxsw_core *mlxsw_core, ...@@ -314,6 +326,12 @@ static int mlxsw_m_init(struct mlxsw_core *mlxsw_core,
mlxsw_m->core = mlxsw_core; mlxsw_m->core = mlxsw_core;
mlxsw_m->bus_info = mlxsw_bus_info; mlxsw_m->bus_info = mlxsw_bus_info;
err = mlxsw_m_base_mac_get(mlxsw_m);
if (err) {
dev_err(mlxsw_m->bus_info->dev, "Failed to get base mac\n");
return err;
}
err = mlxsw_m_ports_create(mlxsw_m); err = mlxsw_m_ports_create(mlxsw_m);
if (err) { if (err) {
dev_err(mlxsw_m->bus_info->dev, "Failed to create ports\n"); dev_err(mlxsw_m->bus_info->dev, "Failed to create ports\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment