diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-06-03 13:53:20 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-06-03 13:53:20 +0200 |
commit | 888dc273ea4e7ca332a6f73d10dfc8f2b212c803 (patch) | |
tree | 0c2154dfa92ca6ee761c358e58a3e35831558bb5 /net/hsr/hsr_framereg.c | |
parent | tty: cpm_uart: drop unused iflag macro (diff) | |
parent | Linux 5.2-rc3 (diff) | |
download | linux-888dc273ea4e7ca332a6f73d10dfc8f2b212c803.tar.xz linux-888dc273ea4e7ca332a6f73d10dfc8f2b212c803.zip |
Merge 5.2-rc3 into tty-next
We want the tty/serial fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/hsr/hsr_framereg.c')
-rw-r--r-- | net/hsr/hsr_framereg.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/net/hsr/hsr_framereg.c b/net/hsr/hsr_framereg.c index 9fa9abd83018..2d7a19750436 100644 --- a/net/hsr/hsr_framereg.c +++ b/net/hsr/hsr_framereg.c @@ -365,6 +365,14 @@ void hsr_prune_nodes(struct timer_list *t) rcu_read_lock(); list_for_each_entry_rcu(node, &hsr->node_db, mac_list) { + /* Don't prune own node. Neither time_in[HSR_PT_SLAVE_A] + * nor time_in[HSR_PT_SLAVE_B], will ever be updated for + * the master port. Thus the master node will be repeatedly + * pruned leading to packet loss. + */ + if (hsr_addr_is_self(hsr, node->macaddress_A)) + continue; + /* Shorthand */ time_a = node->time_in[HSR_PT_SLAVE_A]; time_b = node->time_in[HSR_PT_SLAVE_B]; |