|
@@ -55,10 +55,10 @@
|
|
|
static u16 mlxsw_sp_port_vid_to_fid_get(struct mlxsw_sp_port *mlxsw_sp_port,
|
|
|
u16 vid)
|
|
|
{
|
|
|
+ struct mlxsw_sp_fid *f = mlxsw_sp_vport_fid_get(mlxsw_sp_port);
|
|
|
u16 fid = vid;
|
|
|
|
|
|
- if (mlxsw_sp_port_is_vport(mlxsw_sp_port))
|
|
|
- fid = mlxsw_sp_vport_fid_get(mlxsw_sp_port)->fid;
|
|
|
+ fid = f ? f->fid : fid;
|
|
|
|
|
|
if (!fid)
|
|
|
fid = mlxsw_sp_port->pvid;
|
|
@@ -1196,7 +1196,8 @@ static int mlxsw_sp_port_fdb_dump(struct mlxsw_sp_port *mlxsw_sp_port,
|
|
|
{
|
|
|
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
|
|
|
struct mlxsw_sp_port *tmp;
|
|
|
- u16 vport_fid = 0;
|
|
|
+ struct mlxsw_sp_fid *f;
|
|
|
+ u16 vport_fid;
|
|
|
char *sfd_pl;
|
|
|
char mac[ETH_ALEN];
|
|
|
u16 fid;
|
|
@@ -1211,8 +1212,8 @@ static int mlxsw_sp_port_fdb_dump(struct mlxsw_sp_port *mlxsw_sp_port,
|
|
|
if (!sfd_pl)
|
|
|
return -ENOMEM;
|
|
|
|
|
|
- if (mlxsw_sp_port_is_vport(mlxsw_sp_port))
|
|
|
- vport_fid = mlxsw_sp_vport_fid_get(mlxsw_sp_port)->fid;
|
|
|
+ f = mlxsw_sp_vport_fid_get(mlxsw_sp_port);
|
|
|
+ vport_fid = f ? f->fid : 0;
|
|
|
|
|
|
mlxsw_reg_sfd_pack(sfd_pl, MLXSW_REG_SFD_OP_QUERY_DUMP, 0);
|
|
|
do {
|