summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/mscc
diff options
context:
space:
mode:
authorHoratiu Vultur <horatiu.vultur@microchip.com>2021-03-23 11:33:47 +0300
committerDavid S. Miller <davem@davemloft.net>2021-03-24 22:14:08 +0300
commit5b7c0c32c90494f5aaf13f417cff5dc204575597 (patch)
tree5c547e0145e518519a4942573d89772888fa83e7 /drivers/net/ethernet/mscc
parentb3cb91b97c04e29feee8888ad08426d8904be63f (diff)
downloadlinux-5b7c0c32c90494f5aaf13f417cff5dc204575597.tar.xz
net: ocelot: Simplify MRP deletion
Now that the driver will always be notified that the role is deleted before the ring is deleted, then we don't need to duplicate the logic of cleaning the resources also in the delete function. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mscc')
-rw-r--r--drivers/net/ethernet/mscc/ocelot_mrp.c16
1 files changed, 0 insertions, 16 deletions
diff --git a/drivers/net/ethernet/mscc/ocelot_mrp.c b/drivers/net/ethernet/mscc/ocelot_mrp.c
index c3cbcaf64bb2..08b481a93460 100644
--- a/drivers/net/ethernet/mscc/ocelot_mrp.c
+++ b/drivers/net/ethernet/mscc/ocelot_mrp.c
@@ -154,7 +154,6 @@ int ocelot_mrp_del(struct ocelot *ocelot, int port,
const struct switchdev_obj_mrp *mrp)
{
struct ocelot_port *ocelot_port = ocelot->ports[port];
- int i;
if (!ocelot_port)
return -EOPNOTSUPP;
@@ -162,23 +161,8 @@ int ocelot_mrp_del(struct ocelot *ocelot, int port,
if (ocelot_port->mrp_ring_id != mrp->ring_id)
return 0;
- ocelot_mrp_del_vcap(ocelot, port);
- ocelot_mrp_del_vcap(ocelot, port + ocelot->num_phys_ports);
-
ocelot_port->mrp_ring_id = 0;
- for (i = 0; i < ocelot->num_phys_ports; ++i) {
- ocelot_port = ocelot->ports[i];
-
- if (!ocelot_port)
- continue;
-
- if (ocelot_port->mrp_ring_id != 0)
- goto out;
- }
-
- ocelot_mrp_del_mac(ocelot, ocelot->ports[port]);
-out:
return 0;
}
EXPORT_SYMBOL(ocelot_mrp_del);