This existing code cause the platform to start receiving packet
immediately irrespective of interrupts available or not.
If the platform does not support Rx interrupt, it shall not start
receiving packets immediately. It shall let the timer management work.

Fixes: aee3bc79cc34 ("examples/l3fwd-power: enable one-shot Rx interrupt and 
polling switch")
Cc: [email protected]
Cc: Danny Zhou <[email protected]>
Cc: Cunming Liang <[email protected]>

Signed-off-by: Nikhil Agarwal <[email protected]>
---
 examples/l3fwd-power/main.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index 0a4ed14..d335b0d 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -1051,9 +1051,11 @@ main_loop(__attribute__((unused)) void *dummy)
                                        turn_on_intr(qconf);
                                        sleep_until_rx_interrupt(
                                                qconf->n_rx_queue);
+                                       /**
+                                        * start receiving packets immediately
+                                        */
+                                       goto start_rx;
                                }
-                               /* start receiving packets immediately */
-                               goto start_rx;
                        }
                        stats[lcore_id].sleep_time += lcore_idle_hint;
                }
-- 
2.7.4

Reply via email to