net: bridge: mrp: Update ring transitions.
[ Upstream commit fcb3463585 ]
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>
This commit is contained in:
parent
cc4f0a9d5a
commit
a4a86400c6
1 changed files with 2 additions and 4 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue