[DTV00857290][[DTV][Coverity Scanned Code Defect]

[Description]
Fix coverity defects in nic/nic_cmd_event.c.

Fix Calling risky function
 - Cid#2188330 in line 1474,1475,1478,1484,1488,1489,1492,1498,1534,
   1536,1545,1548,1553,1556,1564,1572,1577,1583,1585,1593.
 Replace sprintf() with snprintf().

 - Cid#2189756 in line 2211,2215,2228.
 Replace TOOL_PRINTLOG() with DBGLOG().

Fix coverity defects in nic/nic_rx.c.

Fix Calling risky function
 - Cid#2188393 in line 2999,3000,3001,3002,3003,3005.
 - Cid#2188395 in line 3058,3059,3060,3061,3062,3065,3066,3067,3068,
   3069,3070,3071,3072,3073.

Add supplement for Cid#70777 and Cid#70778.
 Add new function 'kalP2PGetWepCipher()' to meet requirement.

Change-Id: I4d68066c408ebcf24dfb6072afa30ac87b94ef40
Signed-off-by: Alice Ou <Alice.Ou@mediatek.com>
(cherry picked from commit 154d7c0c34ac39422f06a29a493101ed37229760)
(cherry picked from commit 7521aef32b0a79f4f82d6a4e044b9dbfee876199)
(cherry picked from commit 976c0ca40f45ff8213ed9636b13b36a5d7ad68b9)
CR-Id: DTV00857290
(cherry picked from commit 8d0c09bb1d4b0e70b1fa27358a751aad3769e25a)
diff --git a/nic/nic.c b/nic/nic.c
index 684eef8..15c5c22 100644
--- a/nic/nic.c
+++ b/nic/nic.c
@@ -1445,7 +1445,7 @@
 			} else if (kalP2PGetTkipCipher(prAdapter->prGlueInfo, (UINT_8) prBssInfo->u4PrivateData)) {
 				rCmdSetBssInfo.ucAuthMode = (UINT_8) AUTH_MODE_WPA_PSK;
 				rCmdSetBssInfo.ucEncStatus = (UINT_8) ENUM_ENCRYPTION2_ENABLED;
-			} else if (kalP2PGetCipher(prAdapter->prGlueInfo, (UINT_8) prBssInfo->u4PrivateData)) {
+			} else if (kalP2PGetWepCipher(prAdapter->prGlueInfo, (UINT_8) prBssInfo->u4PrivateData)) {
 				rCmdSetBssInfo.ucAuthMode = (UINT_8) AUTH_MODE_OPEN;
 				rCmdSetBssInfo.ucEncStatus = (UINT_8) ENUM_ENCRYPTION1_ENABLED;
 			} else {
diff --git a/nic/nic_cmd_event.c b/nic/nic_cmd_event.c
index f7d5398..3e8ea2a 100644
--- a/nic/nic_cmd_event.c
+++ b/nic/nic_cmd_event.c
@@ -1482,14 +1482,21 @@
 	static UINT_8 aucPathWF1[40];	/* the path for iq data dump out */
 	static UINT_8 aucPathRAWWF0[40];	/* the path for iq data dump out */
 	static UINT_8 aucPathRAWWF1[40];	/* the path for iq data dump out */
-	PUINT_8 pucDataWF0;	/* the data write into file */
-	PUINT_8 pucDataWF1;	/* the data write into file */
-	PUINT_8 pucDataRAWWF0;	/* the data write into file */
-	PUINT_8 pucDataRAWWF1;	/* the data write into file */
+	PUINT_8 pucDataWF0 = NULL;	/* the data write into file */
+	PUINT_8 pucDataWF1 = NULL;	/* the data write into file */
+	PUINT_8 pucDataRAWWF0 = NULL;	/* the data write into file */
+	PUINT_8 pucDataRAWWF1 = NULL;	/* the data write into file */
 	UINT_32 u4SrcOffset;	/* record the buffer offset */
 	UINT_32 u4FmtLen = 0;	/* bus format length */
 	UINT_32 u4CpyLen = 0;
 	UINT_32 u4RemainByte;
+	UINT_32 u4DataWBufSize = 150;
+	UINT_32 u4DataRAWWBufSize = 150;
+	UINT_32 u4DataWLenF0 = 0;
+	UINT_32 u4DataWLenF1 = 0;
+	UINT_32 u4DataRAWWLenF0 = 0;
+	UINT_32 u4DataRAWWLenF1 = 0;
+
 	BOOLEAN fgAppend;
 	INT_32 u4Iqc160WF0Q0, u4Iqc160WF1I1;
 
@@ -1500,10 +1507,21 @@
 	static ICAP_BUS_FMT icapBusData;
 	UINT_32 *ptr;
 
-	pucDataWF0 = kmalloc(150, GFP_KERNEL);
-	pucDataWF1 = kmalloc(150, GFP_KERNEL);
-	pucDataRAWWF0 = kmalloc(150, GFP_KERNEL);
-	pucDataRAWWF1 = kmalloc(150, GFP_KERNEL);
+	pucDataWF0 = kmalloc(u4DataWBufSize, GFP_KERNEL);
+	pucDataWF1 = kmalloc(u4DataWBufSize, GFP_KERNEL);
+	pucDataRAWWF0 = kmalloc(u4DataRAWWBufSize, GFP_KERNEL);
+	pucDataRAWWF1 = kmalloc(u4DataRAWWBufSize, GFP_KERNEL);
+
+
+	if ((!pucDataWF0) || (!pucDataWF1) || (!pucDataRAWWF0) || (!pucDataRAWWF1)) {
+		DBGLOG(INIT, ERROR, "kmalloc failed.\n");
+		kfree(pucDataWF0);
+		kfree(pucDataWF1);
+		kfree(pucDataRAWWF0);
+		kfree(pucDataRAWWF1);
+		ASSERT(-1);
+		return -1;
+	}
 
 	fgAppend = TRUE;
 	if (prEventDumpMem->ucFragNum == 1) {
@@ -1515,31 +1533,31 @@
 #if defined(LINUX)
 
 		/*if blbist mkdir undre /data/blbist, the dump files wouls put on it */
-		sprintf(aucPathWF0, "/dump_out_%05ld_WF0.txt", g_u2DumpIndex);
-		sprintf(aucPathWF1, "/dump_out_%05ld_WF1.txt", g_u2DumpIndex);
+		scnprintf(aucPathWF0, sizeof(aucPathWF0), "/dump_out_%05ld_WF0.txt", g_u2DumpIndex);
+		scnprintf(aucPathWF1, sizeof(aucPathWF1), "/dump_out_%05ld_WF1.txt", g_u2DumpIndex);
 		if (kalCheckPath(aucPathWF0) == -1) {
 			kalMemSet(aucPathWF0, 0x00, sizeof(aucPathWF0));
-			sprintf(aucPathWF0, "/data/dump_out_%05ld_WF0.txt", g_u2DumpIndex);
+			scnprintf(aucPathWF0, sizeof(aucPathWF0), "/data/dump_out_%05ld_WF0.txt", g_u2DumpIndex);
 		} else
 			kalTrunkPath(aucPathWF0);
 
 		if (kalCheckPath(aucPathWF1) == -1) {
 			kalMemSet(aucPathWF1, 0x00, sizeof(aucPathWF1));
-			sprintf(aucPathWF1, "/data/dump_out_%05ld_WF1.txt", g_u2DumpIndex);
+			scnprintf(aucPathWF1, sizeof(aucPathWF1), "/data/dump_out_%05ld_WF1.txt", g_u2DumpIndex);
 		} else
 			kalTrunkPath(aucPathWF1);
 
-		sprintf(aucPathRAWWF0, "/dump_RAW_%05ld_WF0.txt", g_u2DumpIndex);
-		sprintf(aucPathRAWWF1, "/dump_RAW_%05ld_WF1.txt", g_u2DumpIndex);
+		scnprintf(aucPathRAWWF0, sizeof(aucPathRAWWF0), "/dump_RAW_%05ld_WF0.txt", g_u2DumpIndex);
+		scnprintf(aucPathRAWWF1, sizeof(aucPathRAWWF1), "/dump_RAW_%05ld_WF1.txt", g_u2DumpIndex);
 		if (kalCheckPath(aucPathRAWWF0) == -1) {
 			kalMemSet(aucPathRAWWF0, 0x00, sizeof(aucPathRAWWF0));
-			sprintf(aucPathRAWWF0, "/data/dump_RAW_%05ld_WF0.txt", g_u2DumpIndex);
+			scnprintf(aucPathRAWWF0, sizeof(aucPathRAWWF0), "/data/dump_RAW_%05ld_WF0.txt", g_u2DumpIndex);
 		} else
 			kalTrunkPath(aucPathRAWWF0);
 
 		if (kalCheckPath(aucPathRAWWF1) == -1) {
 			kalMemSet(aucPathRAWWF1, 0x00, sizeof(aucPathRAWWF1));
-			sprintf(aucPathRAWWF1, "/data/dump_RAW_%05ld_WF1.txt", g_u2DumpIndex);
+			scnprintf(aucPathRAWWF1, sizeof(aucPathRAWWF1), "/data/dump_RAW_%05ld_WF1.txt", g_u2DumpIndex);
 		} else
 			kalTrunkPath(aucPathRAWWF1);
 
@@ -1586,10 +1604,12 @@
 #endif
 		if (prEventDumpMem->eIcapContent == ICAP_CONTENT_FIIQ ||
 		    prEventDumpMem->eIcapContent == ICAP_CONTENT_FDIQ) {
-			sprintf(pucDataWF0, "%8d,%8d\n", icapBusData.rIqcBusData.u4Iqc0I,
-				icapBusData.rIqcBusData.u4Iqc0Q);
-			sprintf(pucDataWF1, "%8d,%8d\n", icapBusData.rIqcBusData.u4Iqc1I,
-				icapBusData.rIqcBusData.u4Iqc1Q);
+			u4DataWLenF0 = scnprintf(pucDataWF0, u4DataWBufSize, "%8d,%8d\n",
+						 icapBusData.rIqcBusData.u4Iqc0I,
+						 icapBusData.rIqcBusData.u4Iqc0Q);
+			u4DataWLenF1 = scnprintf(pucDataWF1, u4DataWBufSize, "%8d,%8d\n",
+						 icapBusData.rIqcBusData.u4Iqc1I,
+						 icapBusData.rIqcBusData.u4Iqc1Q);
 		} else if (prEventDumpMem->eIcapContent - 1000 == ICAP_CONTENT_FIIQ
 			   || prEventDumpMem->eIcapContent - 1000 == ICAP_CONTENT_FDIQ) {
 			u4Iqc160WF0Q0 =
@@ -1597,57 +1617,82 @@
 			u4Iqc160WF1I1 =
 			    icapBusData.rIqc160BusData.u4Iqc1I1P1 | (icapBusData.rIqc160BusData.u4Iqc1I1P2 << 4);
 
-			sprintf(pucDataWF0, "%8d,%8d\n%8d,%8d\n", icapBusData.rIqc160BusData.u4Iqc0I0, u4Iqc160WF0Q0,
-				icapBusData.rIqc160BusData.u4Iqc0I1, icapBusData.rIqc160BusData.u4Iqc0Q1);
+			u4DataWLenF0 = scnprintf(pucDataWF0, u4DataWBufSize, "%8d,%8d\n%8d,%8d\n",
+						 icapBusData.rIqc160BusData.u4Iqc0I0, u4Iqc160WF0Q0,
+						 icapBusData.rIqc160BusData.u4Iqc0I1,
+						 icapBusData.rIqc160BusData.u4Iqc0Q1);
 
-			sprintf(pucDataWF1, "%8d,%8d\n%8d,%8d\n", icapBusData.rIqc160BusData.u4Iqc1I0,
-				icapBusData.rIqc160BusData.u4Iqc1Q0, u4Iqc160WF1I1,
-				icapBusData.rIqc160BusData.u4Iqc1Q1);
+			u4DataWLenF1 = scnprintf(pucDataWF1, u4DataWBufSize, "%8d,%8d\n%8d,%8d\n",
+						 icapBusData.rIqc160BusData.u4Iqc1I0,
+						 icapBusData.rIqc160BusData.u4Iqc1Q0, u4Iqc160WF1I1,
+						 icapBusData.rIqc160BusData.u4Iqc1Q1);
 
 		} else if (prEventDumpMem->eIcapContent == ICAP_CONTENT_SPECTRUM) {
-			sprintf(pucDataWF0, "%8d,%8d\n", icapBusData.rSpectrumBusData.u4DcocI,
-				icapBusData.rSpectrumBusData.u4DcocQ);
+			u4DataWLenF0 = scnprintf(pucDataWF0, u4DataWBufSize, "%8d,%8d\n",
+						 icapBusData.rSpectrumBusData.u4DcocI,
+						 icapBusData.rSpectrumBusData.u4DcocQ);
 		} else if (prEventDumpMem->eIcapContent == ICAP_CONTENT_ADC) {
-			sprintf(pucDataWF0, "%8d,%8d\n%8d,%8d\n%8d,%8d\n%8d,%8d\n%8d,%8d\n%8d,%8d\n",
-				icapBusData.rPackedAdcBusData.u4AdcI0T0, icapBusData.rPackedAdcBusData.u4AdcQ0T0,
-				icapBusData.rPackedAdcBusData.u4AdcI0T1, icapBusData.rPackedAdcBusData.u4AdcQ0T1,
-				icapBusData.rPackedAdcBusData.u4AdcI0T2, icapBusData.rPackedAdcBusData.u4AdcQ0T2,
-				icapBusData.rPackedAdcBusData.u4AdcI0T3, icapBusData.rPackedAdcBusData.u4AdcQ0T3,
-				icapBusData.rPackedAdcBusData.u4AdcI0T4, icapBusData.rPackedAdcBusData.u4AdcQ0T4,
-				icapBusData.rPackedAdcBusData.u4AdcI0T5, icapBusData.rPackedAdcBusData.u4AdcQ0T5);
+			u4DataWLenF0 = scnprintf(pucDataWF0, u4DataWBufSize,
+						 "%8d,%8d\n%8d,%8d\n%8d,%8d\n%8d,%8d\n%8d,%8d\n%8d,%8d\n",
+						 icapBusData.rPackedAdcBusData.u4AdcI0T0,
+						 icapBusData.rPackedAdcBusData.u4AdcQ0T0,
+						 icapBusData.rPackedAdcBusData.u4AdcI0T1,
+						 icapBusData.rPackedAdcBusData.u4AdcQ0T1,
+						 icapBusData.rPackedAdcBusData.u4AdcI0T2,
+						 icapBusData.rPackedAdcBusData.u4AdcQ0T2,
+						 icapBusData.rPackedAdcBusData.u4AdcI0T3,
+						 icapBusData.rPackedAdcBusData.u4AdcQ0T3,
+						 icapBusData.rPackedAdcBusData.u4AdcI0T4,
+						 icapBusData.rPackedAdcBusData.u4AdcQ0T4,
+						 icapBusData.rPackedAdcBusData.u4AdcI0T5,
+						 icapBusData.rPackedAdcBusData.u4AdcQ0T5);
 
-			sprintf(pucDataWF1, "%8d,%8d\n%8d,%8d\n%8d,%8d\n%8d,%8d\n%8d,%8d\n%8d,%8d\n",
-				icapBusData.rPackedAdcBusData.u4AdcI1T0, icapBusData.rPackedAdcBusData.u4AdcQ1T0,
-				icapBusData.rPackedAdcBusData.u4AdcI1T1, icapBusData.rPackedAdcBusData.u4AdcQ1T1,
-				icapBusData.rPackedAdcBusData.u4AdcI1T2, icapBusData.rPackedAdcBusData.u4AdcQ1T2,
-				icapBusData.rPackedAdcBusData.u4AdcI1T3, icapBusData.rPackedAdcBusData.u4AdcQ1T3,
-				icapBusData.rPackedAdcBusData.u4AdcI1T4, icapBusData.rPackedAdcBusData.u4AdcQ1T4,
-				icapBusData.rPackedAdcBusData.u4AdcI1T5, icapBusData.rPackedAdcBusData.u4AdcQ1T5);
+			u4DataWLenF1 = scnprintf(pucDataWF1, u4DataWBufSize,
+						 "%8d,%8d\n%8d,%8d\n%8d,%8d\n%8d,%8d\n%8d,%8d\n%8d,%8d\n",
+						 icapBusData.rPackedAdcBusData.u4AdcI1T0,
+						 icapBusData.rPackedAdcBusData.u4AdcQ1T0,
+						 icapBusData.rPackedAdcBusData.u4AdcI1T1,
+						 icapBusData.rPackedAdcBusData.u4AdcQ1T1,
+						 icapBusData.rPackedAdcBusData.u4AdcI1T2,
+						 icapBusData.rPackedAdcBusData.u4AdcQ1T2,
+						 icapBusData.rPackedAdcBusData.u4AdcI1T3,
+						 icapBusData.rPackedAdcBusData.u4AdcQ1T3,
+						 icapBusData.rPackedAdcBusData.u4AdcI1T4,
+						 icapBusData.rPackedAdcBusData.u4AdcQ1T4,
+						 icapBusData.rPackedAdcBusData.u4AdcI1T5,
+						 icapBusData.rPackedAdcBusData.u4AdcQ1T5);
 		} else if (prEventDumpMem->eIcapContent - 2000 == ICAP_CONTENT_ADC) {
-			sprintf(pucDataWF0, "%8d,%8d\n%8d,%8d\n%8d,%8d\n",
-				icapBusData.rPackedAdcBusData.u4AdcI0T0, icapBusData.rPackedAdcBusData.u4AdcQ0T0,
-				icapBusData.rPackedAdcBusData.u4AdcI0T1, icapBusData.rPackedAdcBusData.u4AdcQ0T1,
-				icapBusData.rPackedAdcBusData.u4AdcI0T2, icapBusData.rPackedAdcBusData.u4AdcQ0T2);
+			u4DataWLenF0 = scnprintf(pucDataWF0, u4DataWBufSize, "%8d,%8d\n%8d,%8d\n%8d,%8d\n",
+						 icapBusData.rPackedAdcBusData.u4AdcI0T0,
+						 icapBusData.rPackedAdcBusData.u4AdcQ0T0,
+						 icapBusData.rPackedAdcBusData.u4AdcI0T1,
+						 icapBusData.rPackedAdcBusData.u4AdcQ0T1,
+						 icapBusData.rPackedAdcBusData.u4AdcI0T2,
+						 icapBusData.rPackedAdcBusData.u4AdcQ0T2);
 
-			sprintf(pucDataWF1, "%8d,%8d\n%8d,%8d\n%8d,%8d\n",
-				icapBusData.rPackedAdcBusData.u4AdcI1T0, icapBusData.rPackedAdcBusData.u4AdcQ1T0,
-				icapBusData.rPackedAdcBusData.u4AdcI1T1, icapBusData.rPackedAdcBusData.u4AdcQ1T1,
-				icapBusData.rPackedAdcBusData.u4AdcI1T2, icapBusData.rPackedAdcBusData.u4AdcQ1T2);
+			u4DataWLenF1 = scnprintf(pucDataWF1, u4DataWBufSize, "%8d,%8d\n%8d,%8d\n%8d,%8d\n",
+						 icapBusData.rPackedAdcBusData.u4AdcI1T0,
+						 icapBusData.rPackedAdcBusData.u4AdcQ1T0,
+						 icapBusData.rPackedAdcBusData.u4AdcI1T1,
+						 icapBusData.rPackedAdcBusData.u4AdcQ1T1,
+						 icapBusData.rPackedAdcBusData.u4AdcI1T2,
+						 icapBusData.rPackedAdcBusData.u4AdcQ1T2);
 		} else if (prEventDumpMem->eIcapContent == ICAP_CONTENT_TOAE) {
 			/* actually, this is DCOC. we take TOAE as DCOC */
-			sprintf(pucDataWF0, "%8d,%8d\n", icapBusData.rAdcBusData.u4Dcoc0I,
-				icapBusData.rAdcBusData.u4Dcoc0Q);
-			sprintf(pucDataWF1, "%8d,%8d\n", icapBusData.rAdcBusData.u4Dcoc1I,
-				icapBusData.rAdcBusData.u4Dcoc1Q);
+			u4DataWLenF0 = scnprintf(pucDataWF0, u4DataWBufSize, "%8d,%8d\n",
+						 icapBusData.rAdcBusData.u4Dcoc0I, icapBusData.rAdcBusData.u4Dcoc0Q);
+			u4DataWLenF1 = scnprintf(pucDataWF1, u4DataWBufSize, "%8d,%8d\n",
+						 icapBusData.rAdcBusData.u4Dcoc1I, icapBusData.rAdcBusData.u4Dcoc1Q);
 		}
 		if (u4CpyLen == u4FmtLen) {	/* the data format is complete */
-			kalWriteToFile(aucPathWF0, fgAppend, pucDataWF0, strlen(pucDataWF0));
-			kalWriteToFile(aucPathWF1, fgAppend, pucDataWF1, strlen(pucDataWF1));
+			kalWriteToFile(aucPathWF0, fgAppend, pucDataWF0, u4DataWLenF0);
+			kalWriteToFile(aucPathWF1, fgAppend, pucDataWF1, u4DataWLenF1);
 		}
 		ptr = (PUINT_32)(&prEventDumpMem->aucBuffer[0] + u4SrcOffset);
-		sprintf(pucDataRAWWF0, "%08x%08x%08x\n", *(ptr + 2), *(ptr + 1), *ptr);
-		kalWriteToFile(aucPathRAWWF0, fgAppend, pucDataRAWWF0, strlen(pucDataRAWWF0));
-		kalWriteToFile(aucPathRAWWF1, fgAppend, pucDataRAWWF1, strlen(pucDataRAWWF1));
+		u4DataRAWWLenF0 = scnprintf(pucDataRAWWF0, u4DataWBufSize, "%08x%08x%08x\n",
+					    *(ptr + 2), *(ptr + 1), *ptr);
+		kalWriteToFile(aucPathRAWWF0, fgAppend, pucDataRAWWF0, u4DataRAWWLenF0);
+		kalWriteToFile(aucPathRAWWF1, fgAppend, pucDataRAWWF1, u4DataRAWWLenF1);
 
 		u4RemainByte -= u4CpyLen;
 		u4SrcOffset += u4CpyLen;	/* shift offset */
@@ -2265,11 +2310,11 @@
 
 	u2PulseCnt = (prRddPulseEvent->u4FuncLength - RDD_EVENT_HDR_SIZE) / RDD_ONEPLUSE_SIZE;
 
-	TOOL_PRINTLOG(INIT, INFO, "[RDD]0x%08x %08d[RDD%d]\n", prRddPulseEvent->u4Prefix
+	DBGLOG(INIT, INFO, "[RDD]0x%08x %08d[RDD%d]\n", prRddPulseEvent->u4Prefix
 			, prRddPulseEvent->u4Count, prRddPulseEvent->ucRddIdx);
 
 	for (u2Idx = 0; u2Idx < u2PulseCnt; u2Idx++) {
-		TOOL_PRINTLOG(INIT, INFO, "[RDD]0x%02x%02x%02x%02x %02x%02x%02x%02x[RDD%d]\n"
+		DBGLOG(INIT, INFO, "[RDD]0x%02x%02x%02x%02x %02x%02x%02x%02x[RDD%d]\n"
 			, prRddPulseEvent->aucBuffer[RDD_ONEPLUSE_SIZE*u2Idx+RDD_PULSE_OFFSET3]
 			, prRddPulseEvent->aucBuffer[RDD_ONEPLUSE_SIZE*u2Idx+RDD_PULSE_OFFSET2]
 			, prRddPulseEvent->aucBuffer[RDD_ONEPLUSE_SIZE*u2Idx+RDD_PULSE_OFFSET1]
@@ -2282,7 +2327,7 @@
 			);
 	}
 
-	TOOL_PRINTLOG(INIT, INFO, "[RDD]0x%08x %08x[RDD%d]\n", prRddPulseEvent->u4SubBandRssi0
+	DBGLOG(INIT, INFO, "[RDD]0x%08x %08x[RDD%d]\n", prRddPulseEvent->u4SubBandRssi0
 			, prRddPulseEvent->u4SubBandRssi1, prRddPulseEvent->ucRddIdx);
 
 }
diff --git a/nic/nic_rx.c b/nic/nic_rx.c
index 0a5679d..5e09442 100644
--- a/nic/nic_rx.c
+++ b/nic/nic_rx.c
@@ -3007,6 +3007,7 @@
 {
 	P_RX_CTRL_T prRxCtrl;
 	PUINT_8 pucCurrBuf = pucBuffer;
+	UINT_32 u4CurrCount;
 
 	ASSERT(prAdapter);
 	prRxCtrl = &prAdapter->rRxCtrl;
@@ -3015,13 +3016,21 @@
 	/* if (pucBuffer) {} *//* For Windows, we'll print directly instead of sprintf() */
 	ASSERT(pu4Count);
 
-	SPRINTF(pucCurrBuf, ("\n\nRX CTRL STATUS:"));
-	SPRINTF(pucCurrBuf, ("\n==============="));
-	SPRINTF(pucCurrBuf, ("\nFREE RFB w/i BUF LIST :%9ld", prRxCtrl->rFreeSwRfbList.u4NumElem));
-	SPRINTF(pucCurrBuf, ("\nFREE RFB w/o BUF LIST :%9ld", prRxCtrl->rIndicatedRfbList.u4NumElem));
-	SPRINTF(pucCurrBuf, ("\nRECEIVED RFB LIST     :%9ld", prRxCtrl->rReceivedRfbList.u4NumElem));
+#define SPRINTF_RX_QSTATUS(arg) \
+	{ \
+		u4CurrCount = scnprintf(pucCurrBuf, *pu4Count, PRINTF_ARG arg); \
+		pucCurrBuf += (UINT_8)u4CurrCount; \
+		*pu4Count -= u4CurrCount; \
+	}
 
-	SPRINTF(pucCurrBuf, ("\n\n"));
+
+	SPRINTF_RX_QSTATUS(("\n\nRX CTRL STATUS:"));
+	SPRINTF_RX_QSTATUS(("\n==============="));
+	SPRINTF_RX_QSTATUS(("\nFREE RFB w/i BUF LIST :%9ld", prRxCtrl->rFreeSwRfbList.u4NumElem));
+	SPRINTF_RX_QSTATUS(("\nFREE RFB w/o BUF LIST :%9ld", prRxCtrl->rIndicatedRfbList.u4NumElem));
+	SPRINTF_RX_QSTATUS(("\nRECEIVED RFB LIST     :%9ld", prRxCtrl->rReceivedRfbList.u4NumElem));
+
+	SPRINTF_RX_QSTATUS(("\n\n"));
 
 	/* *pu4Count = (UINT_32)((UINT_32)pucCurrBuf - (UINT_32)pucBuffer); */
 
@@ -3063,6 +3072,7 @@
 {
 	P_RX_CTRL_T prRxCtrl;
 	PUINT_8 pucCurrBuf = pucBuffer;
+	UINT_32 u4CurrCount;
 
 	ASSERT(prAdapter);
 	prRxCtrl = &prAdapter->rRxCtrl;
@@ -3072,7 +3082,12 @@
 	ASSERT(pu4Count);
 
 #define SPRINTF_RX_COUNTER(eCounter) \
-	SPRINTF(pucCurrBuf, ("%-30s : %ld\n", #eCounter, (UINT_32)prRxCtrl->au8Statistics[eCounter]))
+	{ \
+		u4CurrCount = scnprintf(pucCurrBuf, *pu4Count, "%-30s : %ld\n", \
+					#eCounter, (UINT_32)prRxCtrl->au8Statistics[eCounter]); \
+		pucCurrBuf += (UINT_8)u4CurrCount; \
+		*pu4Count -= u4CurrCount; \
+	}
 
 	SPRINTF_RX_COUNTER(RX_MPDU_TOTAL_COUNT);
 	SPRINTF_RX_COUNTER(RX_SIZE_ERR_DROP_COUNT);
diff --git a/os/linux/gl_p2p_kal.c b/os/linux/gl_p2p_kal.c
index 43f88f4..22a6eaf 100644
--- a/os/linux/gl_p2p_kal.c
+++ b/os/linux/gl_p2p_kal.c
@@ -413,6 +413,20 @@
 	return FALSE;
 }
 
+BOOLEAN kalP2PGetWepCipher(IN P_GLUE_INFO_T prGlueInfo, IN UINT_8 ucRoleIdx)
+{
+	ASSERT(prGlueInfo);
+	ASSERT(prGlueInfo->prP2PInfo[ucRoleIdx]);
+
+	if (prGlueInfo->prP2PInfo[ucRoleIdx]->u4CipherPairwise == IW_AUTH_CIPHER_WEP40)
+		return TRUE;
+
+	if (prGlueInfo->prP2PInfo[ucRoleIdx]->u4CipherPairwise == IW_AUTH_CIPHER_WEP104)
+		return TRUE;
+
+	return FALSE;
+}
+
 BOOLEAN kalP2PGetCcmpCipher(IN P_GLUE_INFO_T prGlueInfo, IN UINT_8 ucRoleIdx)
 {
 	ASSERT(prGlueInfo);
diff --git a/os/linux/include/gl_p2p_kal.h b/os/linux/include/gl_p2p_kal.h
index e1e696b..5b90a56 100644
--- a/os/linux/include/gl_p2p_kal.h
+++ b/os/linux/include/gl_p2p_kal.h
@@ -160,6 +160,8 @@
 
 BOOLEAN kalP2PGetCipher(IN P_GLUE_INFO_T prGlueInfo, IN UINT_8 ucRoleIdx);
 
+BOOLEAN kalP2PGetWepCipher(IN P_GLUE_INFO_T prGlueInfo, IN UINT_8 ucRoleIdx);
+
 BOOLEAN kalP2PGetTkipCipher(IN P_GLUE_INFO_T prGlueInfo, IN UINT_8 ucRoleIdx);
 
 BOOLEAN kalP2PGetCcmpCipher(IN P_GLUE_INFO_T prGlueInfo, IN UINT_8 ucRoleIdx);