[WCNCR00166654] misc: add item in memory prealloc module

[Description]
Add USB TX data FFA memory in memory prealloc module

Test:
in Linux PC is ok
1. insmod prealloc module
2. loop insmod wifi module -> connect AP -> rmmod wifi module

Change-Id: Ie08a83a967a6eac4f4cbb5b8b46d9b687dd4bf17
Signed-off-by: Neil Chen <yn.chen@mediatek.com>
CR-Id: WCNCR00166654
Feature: misc
Reviewed-on: http://gerrit.mediatek.inc:8080/1245611
CheckPatch: Check Patch <srv_checkpatch@mediatek.com>
Reviewed-by: ZD Hu <zd.hu@mediatek.com>
Reviewed-by: George Kuo <george.kuo@mediatek.com>
Build: srv_neptune_adm <srv_neptune_adm@mediatek.com>
diff --git a/os/linux/hif/usb/usb.c b/os/linux/hif/usb/usb.c
index 2dcf6d4..fdfa851 100644
--- a/os/linux/hif/usb/usb.c
+++ b/os/linux/hif/usb/usb.c
@@ -822,8 +822,12 @@
 		    usb_alloc_coherent(prHifInfo->udev, USB_TX_DATA_BUFF_SIZE, GFP_ATOMIC,
 				       &prUsbReq->prUrb->transfer_dma);
 #else
+#ifdef CFG_PREALLOC_MEMORY
+		prUsbReq->prBufCtrl->pucBuf = preallocGetMem(MEM_ID_TX_DATA_FFA);
+#else
 		prUsbReq->prBufCtrl->pucBuf = kmalloc(USB_TX_DATA_BUFF_SIZE, GFP_ATOMIC);
 #endif
+#endif
 		if (prUsbReq->prBufCtrl->pucBuf == NULL) {
 			DBGLOG(HAL, ERROR, "kmalloc() reports error\n");
 			goto error;
@@ -1005,8 +1009,10 @@
 		usb_free_coherent(prHifInfo->udev, USB_TX_DATA_BUFF_SIZE,
 			prUsbReq->prBufCtrl->pucBuf, prUsbReq->prUrb->transfer_dma);
 #else
+#ifndef CFG_PREALLOC_MEMORY
 		kfree(prUsbReq->prBufCtrl->pucBuf);
 #endif
+#endif
 		usb_free_urb(prUsbReq->prUrb);
 	}
 
diff --git a/prealloc/include/prealloc.h b/prealloc/include/prealloc.h
index 80d4ee5..702f9a9 100644
--- a/prealloc/include/prealloc.h
+++ b/prealloc/include/prealloc.h
@@ -78,6 +78,7 @@
 	MEM_ID_NIC_ADAPTER,
 #if defined(_HIF_USB)
 	MEM_ID_TX_CMD,
+	MEM_ID_TX_DATA_FFA,
 	MEM_ID_TX_DATA,
 	MEM_ID_RX_EVENT,
 	MEM_ID_RX_DATA,
diff --git a/prealloc/prealloc.c b/prealloc/prealloc.c
index 3da0309..fd2f7ad 100644
--- a/prealloc/prealloc.c
+++ b/prealloc/prealloc.c
@@ -254,6 +254,9 @@
 	preallocAddBlock(MEM_ID_TX_CMD, "TX CMD",
 			USB_REQ_TX_CMD_CNT, USB_TX_CMD_BUF_SIZE,
 			GFP_KERNEL);
+	preallocAddBlock(MEM_ID_TX_DATA_FFA, "TX DATA FFA",
+			USB_REQ_TX_DATA_FFA_CNT, USB_TX_DATA_BUFF_SIZE,
+			GFP_KERNEL);
 #if CFG_USB_TX_AGG
 	preallocAddBlock(MEM_ID_TX_DATA, "TX AGG DATA",
 			(USB_TC_NUM * USB_REQ_TX_DATA_CNT), USB_TX_DATA_BUFF_SIZE,