X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=net%2Fbridge%2Fbr_mrp.c;h=cd2b1e424e54ef237208bbc3727d2cc4ae515019;hb=57151b502cbc0fa6ff9074a76883fa9d9eda322e;hp=12487f6fe9b481afa98a496201657a2352b486de;hpb=acd3d28594536e9096c1ea76c5867d8a68babef6;p=linux-2.6-microblaze.git diff --git a/net/bridge/br_mrp.c b/net/bridge/br_mrp.c index 12487f6fe9b4..cd2b1e424e54 100644 --- a/net/bridge/br_mrp.c +++ b/net/bridge/br_mrp.c @@ -411,6 +411,13 @@ static void br_mrp_del_impl(struct net_bridge *br, struct br_mrp *mrp) cancel_delayed_work_sync(&mrp->in_test_work); br_mrp_switchdev_send_in_test(br, mrp, 0, 0, 0); + /* Disable the roles */ + br_mrp_switchdev_set_ring_role(br, mrp, BR_MRP_RING_ROLE_DISABLED); + p = rtnl_dereference(mrp->i_port); + if (p) + br_mrp_switchdev_set_in_role(br, mrp, mrp->in_id, mrp->ring_id, + BR_MRP_IN_ROLE_DISABLED); + br_mrp_switchdev_del(br, mrp); /* Reset the ports */