hsa: proxy don't send tx event when fifo is empty 76/43676/4
authorMatus Fabian <[email protected]>
Mon, 8 Sep 2025 23:07:33 +0000 (19:07 -0400)
committerFlorin Coras <[email protected]>
Mon, 15 Sep 2025 20:44:10 +0000 (20:44 +0000)
Type: improvement

Change-Id: Ic0a37de2c9f9e0b4e60cdd0740eb4ffcede23629
Signed-off-by: Matus Fabian <[email protected]>
src/plugins/hs_apps/proxy.c

index 896eb8c..b3ea530 100644 (file)
@@ -781,8 +781,9 @@ proxy_rx_callback (session_t *s)
   /*
    * Send event for active open tx fifo
    */
-  if (svm_fifo_set_event (ao_tx_fifo))
-    session_program_tx_io_evt (sc->pair.session_handle, SESSION_IO_EVT_TX);
+  if (svm_fifo_max_dequeue (ao_tx_fifo))
+    if (svm_fifo_set_event (ao_tx_fifo))
+      session_program_tx_io_evt (sc->pair.session_handle, SESSION_IO_EVT_TX);
 
   if (svm_fifo_max_enqueue (ao_tx_fifo) <= TCP_MSS)
     svm_fifo_add_want_deq_ntf (ao_tx_fifo, SVM_FIFO_WANT_DEQ_NOTIF);
@@ -1162,8 +1163,9 @@ active_open_rx_callback (session_t * s)
   /*
    * Send event for server tx fifo
    */
-  if (svm_fifo_set_event (proxy_tx_fifo))
-    session_program_tx_io_evt (proxy_tx_fifo->vpp_sh, SESSION_IO_EVT_TX);
+  if (svm_fifo_max_dequeue (proxy_tx_fifo))
+    if (svm_fifo_set_event (proxy_tx_fifo))
+      session_program_tx_io_evt (proxy_tx_fifo->vpp_sh, SESSION_IO_EVT_TX);
 
   if (svm_fifo_max_enqueue (proxy_tx_fifo) <= TCP_MSS)
     svm_fifo_add_want_deq_ntf (proxy_tx_fifo, SVM_FIFO_WANT_DEQ_NOTIF);