net: ocelot: Fix deletetion of MRP entries from MAC table
When a MRP ring was deleted or disabled, the driver was iterating over
the ports to detect if any other MPR rings exists and in case it didn't
exist it would delete the MAC table entry. But the problem was that it
used the last iterated port to delete the MAC table entry and this could
be a NULL port.
The fix consists of using the port on which the function was called.
Fixes: 7c588c3e96
("net: ocelot: Extend MRP")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
536e1004d2
commit
d25fde64d1
@ -177,7 +177,7 @@ int ocelot_mrp_del(struct ocelot *ocelot, int port,
|
||||
goto out;
|
||||
}
|
||||
|
||||
ocelot_mrp_del_mac(ocelot, ocelot_port);
|
||||
ocelot_mrp_del_mac(ocelot, ocelot->ports[port]);
|
||||
out:
|
||||
return 0;
|
||||
}
|
||||
@ -251,7 +251,7 @@ int ocelot_mrp_del_ring_role(struct ocelot *ocelot, int port,
|
||||
goto out;
|
||||
}
|
||||
|
||||
ocelot_mrp_del_mac(ocelot, ocelot_port);
|
||||
ocelot_mrp_del_mac(ocelot, ocelot->ports[port]);
|
||||
out:
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user