[dpdk-dev] kni: fix possible deadlock

Message ID 1460044517-6871-1-git-send-email-ferruh.yigit@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Ferruh Yigit April 7, 2016, 3:55 p.m. UTC
  netif_rx() should be used in interrupt context. Replace it with
netif_rx_ni() which is safe to use in process context.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_eal/linuxapp/kni/kni_net.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Thomas Monjalon April 7, 2016, 5:29 p.m. UTC | #1
2016-04-07 16:55, Ferruh Yigit:
> netif_rx() should be used in interrupt context. Replace it with
> netif_rx_ni() which is safe to use in process context.
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>

Applied, thanks
  

Patch

diff --git a/lib/librte_eal/linuxapp/kni/kni_net.c b/lib/librte_eal/linuxapp/kni/kni_net.c
index e02edcb..cfa8339 100644
--- a/lib/librte_eal/linuxapp/kni/kni_net.c
+++ b/lib/librte_eal/linuxapp/kni/kni_net.c
@@ -175,7 +175,7 @@  kni_net_rx_normal(struct kni_dev *kni)
 			skb->ip_summed = CHECKSUM_UNNECESSARY;
 
 			/* Call netif interface */
-			netif_rx(skb);
+			netif_rx_ni(skb);
 
 			/* Update statistics */
 			kni->stats.rx_bytes += len;