[dpdk-dev,v2] kni: ignore double calls to rte_kni_init()

Message ID 1434645288-5753-1-git-send-email-marc.sune@bisdn.de (mailing list archive)
State Accepted, archived
Headers

Commit Message

Marc Sune June 18, 2015, 4:34 p.m. UTC
  Prevent double initialization of the KNI subsytem.

v2: added warning trace

Signed-off-by: Marc Sune <marc.sune@bisdn.de>
---
 lib/librte_kni/rte_kni.c | 6 ++++++
 1 file changed, 6 insertions(+)
  

Comments

Zhang, Helin June 19, 2015, 3:47 a.m. UTC | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Marc Sune
> Sent: Friday, June 19, 2015 12:35 AM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v2] kni: ignore double calls to rte_kni_init()
> 
> Prevent double initialization of the KNI subsytem.
> 
> v2: added warning trace
> 
> Signed-off-by: Marc Sune <marc.sune@bisdn.de>
Acked-by: Helin Zhang <helin.zhang@intel.com>
  
Thomas Monjalon June 22, 2015, 4:40 p.m. UTC | #2
> > Prevent double initialization of the KNI subsytem.
> > 
> > v2: added warning trace
> > 
> > Signed-off-by: Marc Sune <marc.sune@bisdn.de>
> Acked-by: Helin Zhang <helin.zhang@intel.com>

Applied, thanks
  

Patch

diff --git a/lib/librte_kni/rte_kni.c b/lib/librte_kni/rte_kni.c
index c5a0089..08155db 100644
--- a/lib/librte_kni/rte_kni.c
+++ b/lib/librte_kni/rte_kni.c
@@ -201,6 +201,12 @@  rte_kni_init(unsigned int max_kni_ifaces)
 	char obj_name[OBJNAMSIZ];
 	char mz_name[RTE_MEMZONE_NAMESIZE];
 
+	/* Immediately return if KNI is already initialized */
+	if (kni_memzone_pool.initialized) {
+		RTE_LOG(WARNING, KNI, "Double call to rte_kni_init()");
+		return;
+	}
+
 	if (max_kni_ifaces == 0) {
 		RTE_LOG(ERR, KNI, "Invalid number of max_kni_ifaces %d\n",
 							max_kni_ifaces);