summaryrefslogtreecommitdiff
path: root/net/hsr
diff options
context:
space:
mode:
authorGeorge McCollister <george.mccollister@gmail.com>2021-06-15 20:50:37 +0300
committerDavid S. Miller <davem@davemloft.net>2021-06-16 22:13:01 +0300
commitc2ae34a7deaff463ecafb7db627b77faaca8e159 (patch)
tree264744d808123c3ba0e180018b079659e1965290 /net/hsr
parent61273f9d83148a38cf9b78d43016c29fc80f48e5 (diff)
downloadlinux-c2ae34a7deaff463ecafb7db627b77faaca8e159.tar.xz
net: hsr: don't check sequence number if tag removal is offloaded
Don't check the sequence number when deciding when to update time_in in the node table if tag removal is offloaded since the sequence number is part of the tag. This fixes a problem where the times in the node table wouldn't update when 0 appeared to be before or equal to seq_out when tag removal was offloaded. Signed-off-by: George McCollister <george.mccollister@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/hsr')
-rw-r--r--net/hsr/hsr_framereg.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/hsr/hsr_framereg.c b/net/hsr/hsr_framereg.c
index bb1351c38397..e31949479305 100644
--- a/net/hsr/hsr_framereg.c
+++ b/net/hsr/hsr_framereg.c
@@ -397,7 +397,8 @@ void hsr_register_frame_in(struct hsr_node *node, struct hsr_port *port,
* ensures entries of restarted nodes gets pruned so that they can
* re-register and resume communications.
*/
- if (seq_nr_before(sequence_nr, node->seq_out[port->type]))
+ if (!(port->dev->features & NETIF_F_HW_HSR_TAG_RM) &&
+ seq_nr_before(sequence_nr, node->seq_out[port->type]))
return;
node->time_in[port->type] = jiffies;