garp_rarp_data_changed() is meant to test the changed flag and clear
it, so callers in pinctrl_run() only notify the pinctrl handler when
there is a real change.  Instead, it set the flag back to true, which
kept it stuck at true after the first update.  As a result, every
pinctrl_run() iteration would wake the pinctrl handler even when
nothing changed.

Clear the flag after reading it.

Fixes: 05527bd6ccdb ("controller: Extract garp_rarp to engine node.")
CC: Felix Huettner <[email protected]>
Acked-by: Aditya Mehakare <[email protected]>
Signed-off-by: Naveen Yerramneni <[email protected]>
---
 controller/garp_rarp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/controller/garp_rarp.c b/controller/garp_rarp.c
index 9d0c2c2e4..162fa0446 100644
--- a/controller/garp_rarp.c
+++ b/controller/garp_rarp.c
@@ -565,7 +565,7 @@ garp_rarp_get_data(void)
 bool
 garp_rarp_data_changed(void) {
     bool ret = garp_rarp_data_has_changed;
-    garp_rarp_data_has_changed = true;
+    garp_rarp_data_has_changed = false;
     return ret;
 }
 
-- 
2.43.5

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to