lkml.org 
[lkml]   [2021]   [Jul]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.10 057/137] net: bridge: mrp: Update ring transitions.
    Date
    From: Horatiu Vultur <horatiu.vultur@microchip.com>

    [ Upstream commit fcb34635854a5a5814227628867ea914a9805384 ]

    According to the standard IEC 62439-2, the number of transitions needs
    to be counted for each transition 'between' ring state open and ring
    state closed and not from open state to closed state.

    Therefore fix this for both ring and interconnect ring.

    Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    net/bridge/br_mrp.c | 6 ++----
    1 file changed, 2 insertions(+), 4 deletions(-)

    diff --git a/net/bridge/br_mrp.c b/net/bridge/br_mrp.c
    index d1336a7ad7ff..3259f5480127 100644
    --- a/net/bridge/br_mrp.c
    +++ b/net/bridge/br_mrp.c
    @@ -607,8 +607,7 @@ int br_mrp_set_ring_state(struct net_bridge *br,
    if (!mrp)
    return -EINVAL;

    - if (mrp->ring_state == BR_MRP_RING_STATE_CLOSED &&
    - state->ring_state != BR_MRP_RING_STATE_CLOSED)
    + if (mrp->ring_state != state->ring_state)
    mrp->ring_transitions++;

    mrp->ring_state = state->ring_state;
    @@ -690,8 +689,7 @@ int br_mrp_set_in_state(struct net_bridge *br, struct br_mrp_in_state *state)
    if (!mrp)
    return -EINVAL;

    - if (mrp->in_state == BR_MRP_IN_STATE_CLOSED &&
    - state->in_state != BR_MRP_IN_STATE_CLOSED)
    + if (mrp->in_state != state->in_state)
    mrp->in_transitions++;

    mrp->in_state = state->in_state;
    --
    2.30.2
    \
     
     \ /
      Last update: 2021-07-06 14:12    [W:4.247 / U:0.092 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site