diff --git a/CORE/BAP/src/bapApiData.c b/CORE/BAP/src/bapApiData.c
index fd03308..d1d7e53 100644
--- a/CORE/BAP/src/bapApiData.c
+++ b/CORE/BAP/src/bapApiData.c
@@ -95,7 +95,7 @@
 #define WLANBAP_LLC_OUI_SIZE                   3
 
 /*Offset of the protocol type field inside the LLC/SNAP header*/
-#define WLANBAP_LLC_PROTO_TYPE_OFFSET  WLANBAP_LLC_OUI_OFFSET +  WLANBAP_LLC_OUI_SIZE
+#define WLANBAP_LLC_PROTO_TYPE_OFFSET  (WLANBAP_LLC_OUI_OFFSET +  WLANBAP_LLC_OUI_SIZE)
 
 /*Size of the protocol type field inside the LLC/SNAP header*/
 #define WLANBAP_LLC_PROTO_TYPE_SIZE            2
@@ -132,15 +132,13 @@
 //#define DBGLOG printf
 #define DUMPLOG_ON
 #ifdef DUMPLOG_ON
-#define DUMPLOG(n, name1, name2, aStr, size) \
-    if (1) \
-{\
-    int i;\
-    VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR,"%d. %s: %s = \n", n, name1, name2); \
-    for (i = 0; i < size; i++) \
-       VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR,"%2.2x%s", ((unsigned char *)aStr)[i], i % 16 == 15 ? "\n" : " "); \
-    VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR,"\n"); \
-}
+#define DUMPLOG(n, name1, name2, aStr, size) do {                       \
+        int i;                                                          \
+        VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR,"%d. %s: %s = \n", n, name1, name2); \
+        for (i = 0; i < size; i++)                                      \
+            VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR,"%2.2x%s", ((unsigned char *)aStr)[i], i % 16 == 15 ? "\n" : " "); \
+        VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR,"\n");      \
+    } while (0)
 #else
 #define DUMPLOG(n, name1, name2, aStr, size)
 #endif
@@ -150,15 +148,13 @@
 #define DBGLOG printf
 #define DUMPLOG
 #if defined DUMPLOG
-#define DUMPLOG(n, name1, name2, aStr, size) \
-    if (1) \
-{\
-    int i;\
-    DBGLOG("%d. %s: %s = \n", n, name1, name2); \
-    for (i = 0; i < size; i++) \
-        DBGLOG("%2.2x%s", ((unsigned char *)aStr)[i], i % 16 == 15 ? "\n" : " "); \
-    DBGLOG("\n"); \
-}
+#define DUMPLOG(n, name1, name2, aStr, size) do {                       \
+        int i;                                                          \
+        DBGLOG("%d. %s: %s = \n", n, name1, name2);                     \
+        for (i = 0; i < size; i++)                                      \
+            DBGLOG("%2.2x%s", ((unsigned char *)aStr)[i], i % 16 == 15 ? "\n" : " "); \
+        DBGLOG("\n");                                                   \
+    } while (0)
 #else
 #define DUMPLOG(n, name1, name2, aStr, size)
 #endif
diff --git a/CORE/BAP/src/bapInternal.h b/CORE/BAP/src/bapInternal.h
index ad752b5..1d85ebd 100644
--- a/CORE/BAP/src/bapInternal.h
+++ b/CORE/BAP/src/bapInternal.h
@@ -155,7 +155,7 @@
 #define WLANBAP_LLC_OUI_OFFSET                 3
 
 /*Offset of the protocol type field inside the LLC/SNAP header*/
-#define WLANBAP_LLC_PROTO_TYPE_OFFSET  WLANBAP_LLC_OUI_OFFSET +  WLANBAP_LLC_OUI_SIZE
+#define WLANBAP_LLC_PROTO_TYPE_OFFSET  (WLANBAP_LLC_OUI_OFFSET +  WLANBAP_LLC_OUI_SIZE)
 
 #define WLANBAP_MAX_NUM_TRIPLETS               5
 
diff --git a/CORE/BAP/src/bapRsn8021xPrf.c b/CORE/BAP/src/bapRsn8021xPrf.c
index 8a05a16..cb7b01b 100644
--- a/CORE/BAP/src/bapRsn8021xPrf.c
+++ b/CORE/BAP/src/bapRsn8021xPrf.c
@@ -52,9 +52,9 @@
 #define AAG_PTK_PRF_LM_POS 0
 #define AAG_PTK_PRF_HM_POS 6
 #define AAG_PTK_PRF_LN_POS 12
-#define AAG_PTK_PRF_HN_POS AAG_PTK_PRF_LN_POS + ANI_EAPOL_KEY_RSN_NONCE_SIZE
+#define AAG_PTK_PRF_HN_POS (AAG_PTK_PRF_LN_POS + ANI_EAPOL_KEY_RSN_NONCE_SIZE)
 
-#define AAG_PTK_PRF_TEXT_LEN AAG_PTK_PRF_HN_POS + ANI_EAPOL_KEY_RSN_NONCE_SIZE
+#define AAG_PTK_PRF_TEXT_LEN (AAG_PTK_PRF_HN_POS + ANI_EAPOL_KEY_RSN_NONCE_SIZE)
 
 #define AAG_GTK_PRF_CONST "Group key expansion"
 #define AAG_GTK_PRF_CONST_LEN 19
@@ -62,7 +62,7 @@
 #define AAG_GTK_PRF_MAC_POS 0
 #define AAG_GTK_PRF_NONCE_POS 6
 
-#define AAG_GTK_PRF_TEXT_LEN AAG_GTK_PRF_NONCE_POS + ANI_EAPOL_KEY_RSN_NONCE_SIZE
+#define AAG_GTK_PRF_TEXT_LEN (AAG_GTK_PRF_NONCE_POS + ANI_EAPOL_KEY_RSN_NONCE_SIZE)
 
 /**
  * aagGetKeyMaterialLen
diff --git a/CORE/BAP/src/bapRsnErrors.h b/CORE/BAP/src/bapRsnErrors.h
index 7919859..9e9f948 100644
--- a/CORE/BAP/src/bapRsnErrors.h
+++ b/CORE/BAP/src/bapRsnErrors.h
@@ -177,10 +177,10 @@
  * The range -2149 to -2999 is reserved for use by the SSM library.
  */
 #define ANI_E_RANGE_START_SSM -2149
-#define ANI_E_SSM_CERT_UNPARSEABLE          ANI_E_RANGE_START_SSM - 1
-#define ANI_E_SSM_CERT_EXPIRED              ANI_E_RANGE_START_SSM - 2
-#define ANI_E_SSM_CERT_THUMBPRINT_MISMATCH  ANI_E_RANGE_START_SSM - 3
-#define ANI_E_SSM_CERT_NEW_ID               ANI_E_RANGE_START_SSM - 4
+#define ANI_E_SSM_CERT_UNPARSEABLE          (ANI_E_RANGE_START_SSM - 1)
+#define ANI_E_SSM_CERT_EXPIRED              (ANI_E_RANGE_START_SSM - 2)
+#define ANI_E_SSM_CERT_THUMBPRINT_MISMATCH  (ANI_E_RANGE_START_SSM - 3)
+#define ANI_E_SSM_CERT_NEW_ID               (ANI_E_RANGE_START_SSM - 4)
 #define ANI_E_RANGE_END_SSM   -2999
 
 /*
@@ -229,10 +229,10 @@
  * HTTPS components.
  */
 #define ANI_E_RANGE_START_HTTPS -4701
-#define ANI_E_HTTPS_UNREACHABLE      ANI_E_RANGE_START_HTTPS - 0
-#define ANI_E_HTTPS_UNTRUSTED_CERT   ANI_E_RANGE_START_HTTPS - 1
-#define ANI_E_HTTPS_RECVD_ALERT      ANI_E_RANGE_START_HTTPS - 2
-#define ANI_E_HTTPS_FAILED           ANI_E_RANGE_START_HTTPS - 3
+#define ANI_E_HTTPS_UNREACHABLE      (ANI_E_RANGE_START_HTTPS - 0)
+#define ANI_E_HTTPS_UNTRUSTED_CERT   (ANI_E_RANGE_START_HTTPS - 1)
+#define ANI_E_HTTPS_RECVD_ALERT      (ANI_E_RANGE_START_HTTPS - 2)
+#define ANI_E_HTTPS_FAILED           (ANI_E_RANGE_START_HTTPS - 3)
 #define ANI_E_RANGE_END_HTTPS   -4800
 
 /*
@@ -240,12 +240,12 @@
  * enrollment components.
  */
 #define ANI_E_RANGE_START_ENROLLMENT -4801
-#define ANI_E_ENROLL_TP_AVAILABLE     ANI_E_RANGE_START_ENROLLMENT - 0
-#define ANI_E_ENROLL_ALREADY_TRUSTED  ANI_E_RANGE_START_ENROLLMENT - 1
-#define ANI_E_ENROLL_NOT_FOUND        ANI_E_RANGE_START_ENROLLMENT - 2
-#define ANI_E_ENROLL_PWD_FAILED       ANI_E_RANGE_START_ENROLLMENT - 3
-#define ANI_E_ENROLL_FAILED           ANI_E_RANGE_START_ENROLLMENT - 4
-#define ANI_E_ENROLL_NOT_PRISTINE     ANI_E_RANGE_START_ENROLLMENT - 5
+#define ANI_E_ENROLL_TP_AVAILABLE     (ANI_E_RANGE_START_ENROLLMENT - 0)
+#define ANI_E_ENROLL_ALREADY_TRUSTED  (ANI_E_RANGE_START_ENROLLMENT - 1)
+#define ANI_E_ENROLL_NOT_FOUND        (ANI_E_RANGE_START_ENROLLMENT - 2)
+#define ANI_E_ENROLL_PWD_FAILED       (ANI_E_RANGE_START_ENROLLMENT - 3)
+#define ANI_E_ENROLL_FAILED           (ANI_E_RANGE_START_ENROLLMENT - 4)
+#define ANI_E_ENROLL_NOT_PRISTINE     (ANI_E_RANGE_START_ENROLLMENT - 5)
 #define ANI_E_RANGE_END_ENROLLMENT   -4900
 
 
@@ -253,7 +253,7 @@
  * The range -4901 to -5000 is reserved for use by NSM.
  */
 #define ANI_E_RANGE_START_NSM -4901
-#define ANI_E_NSM_IPADDR_ASSIGNED     ANI_E_RANGE_START_NSM - 0
+#define ANI_E_NSM_IPADDR_ASSIGNED     (ANI_E_RANGE_START_NSM - 0)
 #define ANI_E_RANGE_END_NSM   -5000
 
 /*
@@ -261,15 +261,15 @@
  * validation library.
  */
 #define ANI_E_RANGE_START_IMAGE -5001
-#define ANI_E_IMAGE_INVALID         ANI_E_RANGE_START_IMAGE - 0
-#define ANI_E_IMAGE_UNSUPPORTED     ANI_E_RANGE_START_IMAGE - 1
+#define ANI_E_IMAGE_INVALID         (ANI_E_RANGE_START_IMAGE - 0)
+#define ANI_E_IMAGE_UNSUPPORTED     (ANI_E_RANGE_START_IMAGE - 1)
 #define ANI_E_RANGE_END_IMAGE   -5100
 
 /*
  * The range -5101 to -5200 is reserved for use by CM
  */
 #define ANI_E_RANGE_START_CM -5101
-#define ANI_E_MESG_UNAVAILABLE      ANI_E_RANGE_START_IMAGE - 0
+#define ANI_E_MESG_UNAVAILABLE      (ANI_E_RANGE_START_IMAGE - 0)
 #define ANI_E_RANGE_END_CM   -5200
 
 
diff --git a/CORE/BAP/src/bapRsnSsmEapol.c b/CORE/BAP/src/bapRsnSsmEapol.c
index 3112ecf..f0e9439 100644
--- a/CORE/BAP/src/bapRsnSsmEapol.c
+++ b/CORE/BAP/src/bapRsnSsmEapol.c
@@ -68,7 +68,7 @@
 
 #define EAPOL_BODY_LEN_SIZE 2
 
-#define ANI_SSM_LEGACY_RC4_KEY_SIGN_OFFSET EAPOL_BODY_POS + 28
+#define ANI_SSM_LEGACY_RC4_KEY_SIGN_OFFSET (EAPOL_BODY_POS + 28)
 
 /**
  * Bitmasks for the RSN Key Information field
@@ -87,7 +87,7 @@
 #define ANI_SSM_RSN_KEY_DESC_VERS_OFFSET  0
 #define ANI_SSM_RSN_KEY_INDEX_OFFSET      4
 
-#define ANI_SSM_RSN_KEY_MIC_OFFSET EAPOL_BODY_POS + 77
+#define ANI_SSM_RSN_KEY_MIC_OFFSET (EAPOL_BODY_POS + 77)
 
 /**
  * Other hard coded values for convenience:
diff --git a/CORE/BAP/src/bapRsnSsmServices.h b/CORE/BAP/src/bapRsnSsmServices.h
index 03d777d..506b1f2 100644
--- a/CORE/BAP/src/bapRsnSsmServices.h
+++ b/CORE/BAP/src/bapRsnSsmServices.h
@@ -46,7 +46,7 @@
 
 #define ANI_SSM_RSN_PMK_LEN 32
 #define ANI_SSM_RSN_PSK_LEN ANI_SSM_RSN_PMK_LEN
-#define ANI_SSM_RSN_PSK_LEN_HEX ANI_SSM_RSN_PSK_LEN+ANI_SSM_RSN_PSK_LEN
+#define ANI_SSM_RSN_PSK_LEN_HEX (ANI_SSM_RSN_PSK_LEN + ANI_SSM_RSN_PSK_LEN)
 #define ANI_SSM_MAX_PASSPHRASE_LEN 128
 #define ANI_SSM_MAX_AUTHZONE_LEN  32
 #define ANI_SSM_MAX_LANDPG_URL_LEN 128
diff --git a/CORE/BAP/src/btampFsm.c b/CORE/BAP/src/btampFsm.c
index f5e5841..07badab 100644
--- a/CORE/BAP/src/btampFsm.c
+++ b/CORE/BAP/src/btampFsm.c
@@ -236,15 +236,13 @@
  */
 #define DUMPLOG_ON
 #if defined DUMPLOG_ON
-#define DUMPLOG(n, name1, name2, aStr, size) \
-    if (1) \
-{\
-    int i;\
-    VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, "%d. %s: %s = \n", n, name1, name2); \
-    for (i = 0; i < size; i++) \
-        VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, "%2.2x%s", ((unsigned char *)aStr)[i], i % 16 == 15 ? "\n" : " "); \
-    VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, "\n"); \
-}
+#define DUMPLOG(n, name1, name2, aStr, size) do {                       \
+        int i;                                                          \
+        VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, "%d. %s: %s = \n", n, name1, name2); \
+        for (i = 0; i < size; i++)                                      \
+            VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, "%2.2x%s", ((unsigned char *)aStr)[i], i % 16 == 15 ? "\n" : " "); \
+        VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, "\n"); \
+    } while (0)
 #else
 #define DUMPLOG(n, name1, name2, aStr, size)
 #endif
diff --git a/CORE/DXE/src/wlan_qct_dxe_i.h b/CORE/DXE/src/wlan_qct_dxe_i.h
index d614ad2..9b4dd2b 100644
--- a/CORE/DXE/src/wlan_qct_dxe_i.h
+++ b/CORE/DXE/src/wlan_qct_dxe_i.h
@@ -98,51 +98,51 @@
 #endif
 #endif /* PAL_OS_TYPE_BMP */
 
-#define WLANDXE_REGISTER_BASE_ADDRESS    WLANDXE_WCNSS_BASE_ADDRESS + 0x202000
+#define WLANDXE_REGISTER_BASE_ADDRESS    (WLANDXE_WCNSS_BASE_ADDRESS + 0x202000)
 
 /* Common over the channels register addresses */
-#define WALNDEX_DMA_CSR_ADDRESS          WLANDXE_REGISTER_BASE_ADDRESS + 0x00
-#define WALNDEX_DMA_ENCH_ADDRESS         WLANDXE_REGISTER_BASE_ADDRESS + 0x04
-#define WALNDEX_DMA_CH_EN_ADDRESS        WLANDXE_REGISTER_BASE_ADDRESS + 0x08
-#define WALNDEX_DMA_CH_DONE_ADDRESS      WLANDXE_REGISTER_BASE_ADDRESS + 0x0C
-#define WALNDEX_DMA_CH_ERR_ADDRESS       WLANDXE_REGISTER_BASE_ADDRESS + 0x10
-#define WALNDEX_DMA_CH_STOP_ADDRESS      WLANDXE_REGISTER_BASE_ADDRESS + 0x14
+#define WALNDEX_DMA_CSR_ADDRESS          (WLANDXE_REGISTER_BASE_ADDRESS + 0x00)
+#define WALNDEX_DMA_ENCH_ADDRESS         (WLANDXE_REGISTER_BASE_ADDRESS + 0x04)
+#define WALNDEX_DMA_CH_EN_ADDRESS        (WLANDXE_REGISTER_BASE_ADDRESS + 0x08)
+#define WALNDEX_DMA_CH_DONE_ADDRESS      (WLANDXE_REGISTER_BASE_ADDRESS + 0x0C)
+#define WALNDEX_DMA_CH_ERR_ADDRESS       (WLANDXE_REGISTER_BASE_ADDRESS + 0x10)
+#define WALNDEX_DMA_CH_STOP_ADDRESS      (WLANDXE_REGISTER_BASE_ADDRESS + 0x14)
 
 /* Interrupt Control register address */
-#define WLANDXE_INT_MASK_REG_ADDRESS     WLANDXE_REGISTER_BASE_ADDRESS + 0x18
-#define WLANDXE_INT_SRC_MSKD_ADDRESS     WLANDXE_REGISTER_BASE_ADDRESS + 0x1C
-#define WLANDXE_INT_SRC_RAW_ADDRESS      WLANDXE_REGISTER_BASE_ADDRESS + 0x20
-#define WLANDXE_INT_ED_SRC_ADDRESS       WLANDXE_REGISTER_BASE_ADDRESS + 0x24
-#define WLANDXE_INT_DONE_SRC_ADDRESS     WLANDXE_REGISTER_BASE_ADDRESS + 0x28
-#define WLANDXE_INT_ERR_SRC_ADDRESS      WLANDXE_REGISTER_BASE_ADDRESS + 0x2C
-#define WLANDXE_INT_CLR_ADDRESS          WLANDXE_REGISTER_BASE_ADDRESS + 0x30
-#define WLANDXE_INT_ED_CLR_ADDRESS       WLANDXE_REGISTER_BASE_ADDRESS + 0x34
-#define WLANDXE_INT_DONE_CLR_ADDRESS     WLANDXE_REGISTER_BASE_ADDRESS + 0x38
-#define WLANDXE_INT_ERR_CLR_ADDRESS      WLANDXE_REGISTER_BASE_ADDRESS + 0x3C
+#define WLANDXE_INT_MASK_REG_ADDRESS     (WLANDXE_REGISTER_BASE_ADDRESS + 0x18)
+#define WLANDXE_INT_SRC_MSKD_ADDRESS     (WLANDXE_REGISTER_BASE_ADDRESS + 0x1C)
+#define WLANDXE_INT_SRC_RAW_ADDRESS      (WLANDXE_REGISTER_BASE_ADDRESS + 0x20)
+#define WLANDXE_INT_ED_SRC_ADDRESS       (WLANDXE_REGISTER_BASE_ADDRESS + 0x24)
+#define WLANDXE_INT_DONE_SRC_ADDRESS     (WLANDXE_REGISTER_BASE_ADDRESS + 0x28)
+#define WLANDXE_INT_ERR_SRC_ADDRESS      (WLANDXE_REGISTER_BASE_ADDRESS + 0x2C)
+#define WLANDXE_INT_CLR_ADDRESS          (WLANDXE_REGISTER_BASE_ADDRESS + 0x30)
+#define WLANDXE_INT_ED_CLR_ADDRESS       (WLANDXE_REGISTER_BASE_ADDRESS + 0x34)
+#define WLANDXE_INT_DONE_CLR_ADDRESS     (WLANDXE_REGISTER_BASE_ADDRESS + 0x38)
+#define WLANDXE_INT_ERR_CLR_ADDRESS      (WLANDXE_REGISTER_BASE_ADDRESS + 0x3C)
 
-#define WLANDXE_DMA_CH_PRES_ADDRESS      WLANDXE_REGISTER_BASE_ADDRESS + 0x40
-#define WLANDXE_ARB_CH_MSK_CLR_ADDRRESS  WLANDXE_REGISTER_BASE_ADDRESS + 0x74
+#define WLANDXE_DMA_CH_PRES_ADDRESS      (WLANDXE_REGISTER_BASE_ADDRESS + 0x40)
+#define WLANDXE_ARB_CH_MSK_CLR_ADDRRESS  (WLANDXE_REGISTER_BASE_ADDRESS + 0x74)
 
 /* Channel Counter register */
-#define WLANDXE_DMA_COUNTER_0            WLANDXE_REGISTER_BASE_ADDRESS + 0x200
-#define WLANDXE_DMA_COUNTER_1            WLANDXE_REGISTER_BASE_ADDRESS + 0x204
-#define WLANDXE_DMA_COUNTER_2            WLANDXE_REGISTER_BASE_ADDRESS + 0x208
-#define WLANDXE_DMA_COUNTER_3            WLANDXE_REGISTER_BASE_ADDRESS + 0x20C
-#define WLANDXE_DMA_COUNTER_4            WLANDXE_REGISTER_BASE_ADDRESS + 0x210
-#define WLANDXE_DMA_COUNTER_5            WLANDXE_REGISTER_BASE_ADDRESS + 0x214
-#define WLANDXE_DMA_COUNTER_6            WLANDXE_REGISTER_BASE_ADDRESS + 0x218
+#define WLANDXE_DMA_COUNTER_0            (WLANDXE_REGISTER_BASE_ADDRESS + 0x200)
+#define WLANDXE_DMA_COUNTER_1            (WLANDXE_REGISTER_BASE_ADDRESS + 0x204)
+#define WLANDXE_DMA_COUNTER_2            (WLANDXE_REGISTER_BASE_ADDRESS + 0x208)
+#define WLANDXE_DMA_COUNTER_3            (WLANDXE_REGISTER_BASE_ADDRESS + 0x20C)
+#define WLANDXE_DMA_COUNTER_4            (WLANDXE_REGISTER_BASE_ADDRESS + 0x210)
+#define WLANDXE_DMA_COUNTER_5            (WLANDXE_REGISTER_BASE_ADDRESS + 0x214)
+#define WLANDXE_DMA_COUNTER_6            (WLANDXE_REGISTER_BASE_ADDRESS + 0x218)
 
-#define WLANDXE_ENGINE_STAT_ADDRESS      WLANDXE_REGISTER_BASE_ADDRESS + 0x64
-#define WLANDXE_BMU_SB_QDAT_AV_ADDRESS   WLANDXE_REGISTER_BASE_ADDRESS + 0x5c
+#define WLANDXE_ENGINE_STAT_ADDRESS      (WLANDXE_REGISTER_BASE_ADDRESS + 0x64)
+#define WLANDXE_BMU_SB_QDAT_AV_ADDRESS   (WLANDXE_REGISTER_BASE_ADDRESS + 0x5c)
 
 /* Channel Base address */
-#define WLANDXE_DMA_CHAN0_BASE_ADDRESS   WLANDXE_REGISTER_BASE_ADDRESS + 0x400
-#define WLANDXE_DMA_CHAN1_BASE_ADDRESS   WLANDXE_REGISTER_BASE_ADDRESS + 0x440
-#define WLANDXE_DMA_CHAN2_BASE_ADDRESS   WLANDXE_REGISTER_BASE_ADDRESS + 0x480
-#define WLANDXE_DMA_CHAN3_BASE_ADDRESS   WLANDXE_REGISTER_BASE_ADDRESS + 0x4C0
-#define WLANDXE_DMA_CHAN4_BASE_ADDRESS   WLANDXE_REGISTER_BASE_ADDRESS + 0x500
-#define WLANDXE_DMA_CHAN5_BASE_ADDRESS   WLANDXE_REGISTER_BASE_ADDRESS + 0x540
-#define WLANDXE_DMA_CHAN6_BASE_ADDRESS   WLANDXE_REGISTER_BASE_ADDRESS + 0x580
+#define WLANDXE_DMA_CHAN0_BASE_ADDRESS   (WLANDXE_REGISTER_BASE_ADDRESS + 0x400)
+#define WLANDXE_DMA_CHAN1_BASE_ADDRESS   (WLANDXE_REGISTER_BASE_ADDRESS + 0x440)
+#define WLANDXE_DMA_CHAN2_BASE_ADDRESS   (WLANDXE_REGISTER_BASE_ADDRESS + 0x480)
+#define WLANDXE_DMA_CHAN3_BASE_ADDRESS   (WLANDXE_REGISTER_BASE_ADDRESS + 0x4C0)
+#define WLANDXE_DMA_CHAN4_BASE_ADDRESS   (WLANDXE_REGISTER_BASE_ADDRESS + 0x500)
+#define WLANDXE_DMA_CHAN5_BASE_ADDRESS   (WLANDXE_REGISTER_BASE_ADDRESS + 0x540)
+#define WLANDXE_DMA_CHAN6_BASE_ADDRESS   (WLANDXE_REGISTER_BASE_ADDRESS + 0x580)
 
 /* Channel specific register offset */
 #define WLANDXE_DMA_CH_CTRL_REG          0x0000
diff --git a/CORE/HDD/inc/wlan_hdd_ftm.h b/CORE/HDD/inc/wlan_hdd_ftm.h
index 1185f8b..f753178 100644
--- a/CORE/HDD/inc/wlan_hdd_ftm.h
+++ b/CORE/HDD/inc/wlan_hdd_ftm.h
@@ -204,7 +204,7 @@
 
 #define FTM_VOS_EVENT_WAIT_TIME 10000
 
-#define SIZE_OF_TABLE(a) sizeof(a)/sizeof(a[0])                      
+#define SIZE_OF_TABLE(a) (sizeof(a) / sizeof(a[0]))
 
 int wlan_hdd_ftm_open(hdd_context_t *pHddCtx);
 void wlan_hdd_process_ftm_cmd (hdd_context_t *pHddCtx,tAniNlHdr *wnl);
diff --git a/CORE/HDD/inc/wlan_hdd_includes.h b/CORE/HDD/inc/wlan_hdd_includes.h
index 7d5b0df..b1f8594 100644
--- a/CORE/HDD/inc/wlan_hdd_includes.h
+++ b/CORE/HDD/inc/wlan_hdd_includes.h
@@ -60,7 +60,6 @@
 #include "wlan_hdd_mib.h"
 #include "wlan_hdd_wext.h"
 #include "wlan_hdd_main.h"
-#include "wlan_hdd_version.h"
 #include "wlan_hdd_tx_rx.h"
 
 #ifdef FEATURE_OEM_DATA_SUPPORT
diff --git a/CORE/HDD/inc/wlan_hdd_main.h b/CORE/HDD/inc/wlan_hdd_main.h
index c4a3699..2c9f173 100644
--- a/CORE/HDD/inc/wlan_hdd_main.h
+++ b/CORE/HDD/inc/wlan_hdd_main.h
@@ -83,12 +83,12 @@
 /** Hdd Default MTU */
 #define HDD_DEFAULT_MTU         (1500)
 /**event flags registered net device*/
-#define NET_DEVICE_REGISTERED  1<<0
-#define SME_SESSION_OPENED     1<<1
-#define INIT_TX_RX_SUCCESS     1<<2
-#define WMM_INIT_DONE          1<<3
-#define SOFTAP_BSS_STARTED     1<<4
-#define DEVICE_IFACE_OPENED    1<<5
+#define NET_DEVICE_REGISTERED  (1<<0)
+#define SME_SESSION_OPENED     (1<<1)
+#define INIT_TX_RX_SUCCESS     (1<<2)
+#define WMM_INIT_DONE          (1<<3)
+#define SOFTAP_BSS_STARTED     (1<<4)
+#define DEVICE_IFACE_OPENED    (1<<5)
 
 /** Maximum time(ms)to wait for disconnect to complete **/
 #define WLAN_WAIT_TIME_DISCONNECT  500
@@ -743,13 +743,13 @@
     v_U8_t       mcBcFilterSuspend;
 }hdd_dynamic_mcbcfilter_t;
 
-#define WLAN_HDD_GET_STATION_CTX_PTR(pAdapter) &(pAdapter)->sessionCtx.station
-#define WLAN_HDD_GET_AP_CTX_PTR(pAdapter) &(pAdapter)->sessionCtx.ap
-#define WLAN_HDD_GET_WEXT_STATE_PTR(pAdapter)  &(pAdapter)->sessionCtx.station.WextState
-#define WLAN_HDD_GET_CTX(pAdapter) (hdd_context_t*)pAdapter->pHddCtx
-#define WLAN_HDD_GET_HAL_CTX(pAdapter)  ((hdd_context_t*)(pAdapter->pHddCtx))->hHal
-#define WLAN_HDD_GET_HOSTAP_STATE_PTR(pAdapter) &(pAdapter)->sessionCtx.ap.HostapdState
-#define WLAN_HDD_GET_CFG_STATE_PTR(pAdapter)  &(pAdapter)->cfg80211State
+#define WLAN_HDD_GET_STATION_CTX_PTR(pAdapter) (&(pAdapter)->sessionCtx.station)
+#define WLAN_HDD_GET_AP_CTX_PTR(pAdapter) (&(pAdapter)->sessionCtx.ap)
+#define WLAN_HDD_GET_WEXT_STATE_PTR(pAdapter)  (&(pAdapter)->sessionCtx.station.WextState)
+#define WLAN_HDD_GET_CTX(pAdapter) ((hdd_context_t*)pAdapter->pHddCtx)
+#define WLAN_HDD_GET_HAL_CTX(pAdapter)  (((hdd_context_t*)(pAdapter->pHddCtx))->hHal)
+#define WLAN_HDD_GET_HOSTAP_STATE_PTR(pAdapter) (&(pAdapter)->sessionCtx.ap.HostapdState)
+#define WLAN_HDD_GET_CFG_STATE_PTR(pAdapter)  (&(pAdapter)->cfg80211State)
 #define WLAN_HDD_MAX_MC_ADDR_LIST 10
 
 typedef struct hdd_adapter_list_node
diff --git a/CORE/HDD/src/bap_hdd_main.c b/CORE/HDD/src/bap_hdd_main.c
index 7fbddf9..11ab0e6 100644
--- a/CORE/HDD/src/bap_hdd_main.c
+++ b/CORE/HDD/src/bap_hdd_main.c
@@ -181,15 +181,13 @@
 #define DBGLOG printf
 //#define DUMPLOG
 #if defined DUMPLOG
-#define DUMPLOG(n, name1, name2, aStr, size) \
-    if (1) \
-{\
-    int i;\
-    DBGLOG("%d. %s: %s = \n", n, name1, name2); \
-    for (i = 0; i < size; i++) \
-        DBGLOG("%2.2x%s", ((unsigned char *)aStr)[i], i % 16 == 15 ? "\n" : " "); \
-    DBGLOG("\n"); \
-}
+#define DUMPLOG(n, name1, name2, aStr, size) do {                       \
+        int i;                                                          \
+        DBGLOG("%d. %s: %s = \n", n, name1, name2);                     \
+        for (i = 0; i < size; i++)                                      \
+            DBGLOG("%2.2x%s", ((unsigned char *)aStr)[i], i % 16 == 15 ? "\n" : " "); \
+        DBGLOG("\n");                                                   \
+    } while (0)
 #else
 #define DUMPLOG(n, name1, name2, aStr, size)
 #endif
diff --git a/CORE/HDD/src/wlan_hdd_ftm.c b/CORE/HDD/src/wlan_hdd_ftm.c
index 666a74d..0a3e927 100644
--- a/CORE/HDD/src/wlan_hdd_ftm.c
+++ b/CORE/HDD/src/wlan_hdd_ftm.c
@@ -103,7 +103,7 @@
 #endif /* QWLAN_PHYDBG_BASE */
 
 #ifndef QWLAN_PHYDBG_TXPKT_CNT_REG
-#define QWLAN_PHYDBG_TXPKT_CNT_REG          QWLAN_PHYDBG_BASE + 0x6C
+#define QWLAN_PHYDBG_TXPKT_CNT_REG          (QWLAN_PHYDBG_BASE + 0x6C)
 #define QWLAN_PHYDBG_TXPKT_CNT_CNT_MASK     0xFFFF
 #endif
 
@@ -112,12 +112,12 @@
 #endif /* QWLAN_AGC_BASE */
 
 #ifndef QWLAN_AGC_CHANNEL_FREQ_REG
-#define QWLAN_AGC_CHANNEL_FREQ_REG          QWLAN_AGC_BASE + 0x34
+#define QWLAN_AGC_CHANNEL_FREQ_REG          (QWLAN_AGC_BASE + 0x34)
 #define QWLAN_AGC_CHANNEL_FREQ_FREQ_MASK    0x1FFF
 #endif /* QWLAN_AGC_CHANNEL_FREQ_REG */
 
 #ifndef QWLAN_AGC_SUBBAND_CONFIG_REG
-#define QWLAN_AGC_SUBBAND_CONFIG_REG        QWLAN_AGC_BASE + 0x30
+#define QWLAN_AGC_SUBBAND_CONFIG_REG        (QWLAN_AGC_BASE + 0x30)
 #define QWLAN_AGC_SUBBAND_CONFIG_STG2_SUBBAND_MASK  0x03
 #endif /* QWLAN_AGC_SUBBAND_CONFIG_REG */
 
@@ -126,7 +126,7 @@
 #endif /* QWLAN_RFAPB_BASE */
 
 #ifndef QWLAN_RFAPB_REV_ID_REG
-#define QWLAN_RFAPB_REV_ID_REG              QWLAN_RFAPB_BASE + 0x00
+#define QWLAN_RFAPB_REV_ID_REG              (QWLAN_RFAPB_BASE + 0x00)
 #endif /* QWLAN_RFAPB_REV_ID_REG */
 
 #ifndef QWLAN_TXCTL_BASE
@@ -134,7 +134,7 @@
 #endif /* QWLAN_TXCTL_BASE */
 
 #ifndef QWLAN_TXCTL_FSHIFT_REG
-#define QWLAN_TXCTL_FSHIFT_REG              QWLAN_TXCTL_BASE + 0x20
+#define QWLAN_TXCTL_FSHIFT_REG              (QWLAN_TXCTL_BASE + 0x20)
 #define QWLAN_TXCTL_FSHIFT_BW14_OFFSET      0x02
 #define QWLAN_TXCTL_FSHIFT_BW14_MASK        0x1C
 #define QWLAN_TXCTL_FSHIFT_BW12_OFFSET      0x00
diff --git a/CORE/HDD/src/wlan_hdd_hostapd.c b/CORE/HDD/src/wlan_hdd_hostapd.c
index a693990..55de011 100644
--- a/CORE/HDD/src/wlan_hdd_hostapd.c
+++ b/CORE/HDD/src/wlan_hdd_hostapd.c
@@ -2511,9 +2511,9 @@
    (iw_handler) NULL,           /* SIOCSIWPMKSA */
 };
 
-#define    IW_PRIV_TYPE_OPTIE    IW_PRIV_TYPE_BYTE | QCSAP_MAX_OPT_IE
+#define    IW_PRIV_TYPE_OPTIE    (IW_PRIV_TYPE_BYTE | QCSAP_MAX_OPT_IE)
 #define    IW_PRIV_TYPE_MLME \
-    IW_PRIV_TYPE_BYTE | sizeof(struct ieee80211req_mlme)
+  (IW_PRIV_TYPE_BYTE | sizeof(struct ieee80211req_mlme))
 
 static const struct iw_priv_args hostapd_private_args[] = {
   { QCSAP_IOCTL_SETPARAM,
diff --git a/CORE/HDD/src/wlan_hdd_wext.c b/CORE/HDD/src/wlan_hdd_wext.c
index 3194456..c828665 100644
--- a/CORE/HDD/src/wlan_hdd_wext.c
+++ b/CORE/HDD/src/wlan_hdd_wext.c
@@ -134,7 +134,7 @@
         {5620, 124}, {5640, 128}, {5660, 132}, {5680, 136}, {5700, 140},
         {5745, 149}, {5765, 153}, {5785, 157}, {5805, 161}, {5825, 165} };
 
-#define FREQ_CHAN_MAP_TABLE_SIZE sizeof(freq_chan_map)/sizeof(freq_chan_map[0])
+#define FREQ_CHAN_MAP_TABLE_SIZE (sizeof(freq_chan_map)/sizeof(freq_chan_map[0]))
 
 /* Private ioctls and their sub-ioctls */
 #define WLAN_PRIV_SET_INT_GET_NONE    (SIOCIWFIRSTPRIV + 0)
diff --git a/CORE/MAC/inc/aniCompiler.h b/CORE/MAC/inc/aniCompiler.h
index 0a063ed..1865f1a 100644
--- a/CORE/MAC/inc/aniCompiler.h
+++ b/CORE/MAC/inc/aniCompiler.h
@@ -125,10 +125,10 @@
 #endif
 
 #if defined(ANI_DATAPATH_SECTION)
-#define  __DP_SRC_RX                __attribute__  ((section(".dpsrcrx")))
-#define  __DP_SRC_TX                __attribute__  ((section(".dpsrctx")))
-#define  __DP_SRC                   __attribute__  ((section(".dpsrc")))
-#define  __ANIHDD_MODULE            __attribute__  ((section(".anihdd")))
+#define  __DP_SRC_RX                __attribute__((section(".dpsrcrx")))
+#define  __DP_SRC_TX                __attribute__((section(".dpsrctx")))
+#define  __DP_SRC                   __attribute__((section(".dpsrc")))
+#define  __ANIHDD_MODULE            __attribute__((section(".anihdd")))
 #else
 #define  __DP_SRC_RX 
 #define  __DP_SRC_TX
diff --git a/CORE/MAC/inc/aniGlobal.h b/CORE/MAC/inc/aniGlobal.h
index 517b92f..151a3c3 100644
--- a/CORE/MAC/inc/aniGlobal.h
+++ b/CORE/MAC/inc/aniGlobal.h
@@ -129,8 +129,8 @@
 
 // cap should be one of HCF/WME/WSM
 #define LIM_BSS_CAPS_GET(cap, val) (((val) & (LIM_BSS_CAPS_ ## cap)) >> LIM_BSS_CAPS_OFFSET_ ## cap)
-#define LIM_BSS_CAPS_SET(cap, val) (val) |= (LIM_BSS_CAPS_ ## cap )
-#define LIM_BSS_CAPS_CLR(cap, val) (val) &= (~ (LIM_BSS_CAPS_ ## cap))
+#define LIM_BSS_CAPS_SET(cap, val) ((val) |= (LIM_BSS_CAPS_ ## cap ))
+#define LIM_BSS_CAPS_CLR(cap, val) ((val) &= (~ (LIM_BSS_CAPS_ ## cap)))
 
 // 40 beacons per heart beat interval is the default + 1 to count the rest
 #define MAX_NO_BEACONS_PER_HEART_BEAT_INTERVAL 41
diff --git a/CORE/MAC/inc/sirMacPropExts.h b/CORE/MAC/inc/sirMacPropExts.h
index dab6064..33be90a 100644
--- a/CORE/MAC/inc/sirMacPropExts.h
+++ b/CORE/MAC/inc/sirMacPropExts.h
@@ -99,10 +99,10 @@
 
 // macro to set/get a capability bit, bitname is one of HCF/11EQOS/etc...
 #define PROP_CAPABILITY_SET(bitname, value) \
-        (value) = (value) | ((tANI_U16)(1 << SIR_MAC_PROP_CAPABILITY_ ## bitname))
+  ((value) = (value) | ((tANI_U16)(1 << SIR_MAC_PROP_CAPABILITY_ ## bitname)))
 
 #define PROP_CAPABILITY_RESET(bitname, value) \
-        (value) = (value) & ~((tANI_U16)(1 << SIR_MAC_PROP_CAPABILITY_ ## bitname))
+  ((value) = (value) & ~((tANI_U16)(1 << SIR_MAC_PROP_CAPABILITY_ ## bitname)))
         
 #define PROP_CAPABILITY_GET(bitname, value) \
         (((value) >> SIR_MAC_PROP_CAPABILITY_ ## bitname) & 1)
diff --git a/CORE/MAC/inc/sirMacProtDef.h b/CORE/MAC/inc/sirMacProtDef.h
index 4e4b62d..63448f2 100644
--- a/CORE/MAC/inc/sirMacProtDef.h
+++ b/CORE/MAC/inc/sirMacProtDef.h
@@ -596,7 +596,7 @@
 
 // bitname must be one of the above, eg ESS, CF_POLLABLE, etc.
 #define SIR_MAC_CLEAR_CAPABILITY(u16value, bitname) \
-    (u16value) &= (~(SIR_MAC_SET_##bitname(0)))
+  ((u16value) &= (~(SIR_MAC_SET_##bitname(0))))
 
 /// Status Code (present in Management response frames) enum
 
diff --git a/CORE/MAC/src/include/sirParams.h b/CORE/MAC/src/include/sirParams.h
index 5363f9f..432b36e 100644
--- a/CORE/MAC/src/include/sirParams.h
+++ b/CORE/MAC/src/include/sirParams.h
@@ -271,309 +271,309 @@
 
 // HAL message types
 #define SIR_HAL_MSG_TYPES_BEGIN            (SIR_HAL_MODULE_ID << 8)
-#define SIR_HAL_ITC_MSG_TYPES_BEGIN        SIR_HAL_MSG_TYPES_BEGIN+0x20
+#define SIR_HAL_ITC_MSG_TYPES_BEGIN        (SIR_HAL_MSG_TYPES_BEGIN+0x20)
 #define SIR_HAL_RADAR_DETECTED_IND         SIR_HAL_ITC_MSG_TYPES_BEGIN
-#define SIR_HAL_WDT_KAM_RSP                SIR_HAL_ITC_MSG_TYPES_BEGIN + 1
-#define SIR_HAL_TIMER_TEMP_MEAS_REQ        SIR_HAL_ITC_MSG_TYPES_BEGIN + 2
-#define SIR_HAL_TIMER_PERIODIC_STATS_COLLECT_REQ   SIR_HAL_ITC_MSG_TYPES_BEGIN + 3
-#define SIR_HAL_CAL_REQ_NTF                SIR_HAL_ITC_MSG_TYPES_BEGIN + 4
-#define SIR_HAL_MNT_OPEN_TPC_TEMP_MEAS_REQ SIR_HAL_ITC_MSG_TYPES_BEGIN + 5
-#define SIR_HAL_CCA_MONITOR_INTERVAL_TO    SIR_HAL_ITC_MSG_TYPES_BEGIN + 6
-#define SIR_HAL_CCA_MONITOR_DURATION_TO    SIR_HAL_ITC_MSG_TYPES_BEGIN + 7
-#define SIR_HAL_CCA_MONITOR_START          SIR_HAL_ITC_MSG_TYPES_BEGIN + 8
-#define SIR_HAL_CCA_MONITOR_STOP           SIR_HAL_ITC_MSG_TYPES_BEGIN + 9
-#define SIR_HAL_CCA_CHANGE_MODE            SIR_HAL_ITC_MSG_TYPES_BEGIN + 10
-#define SIR_HAL_TIMER_WRAP_AROUND_STATS_COLLECT_REQ   SIR_HAL_ITC_MSG_TYPES_BEGIN + 11
+#define SIR_HAL_WDT_KAM_RSP                (SIR_HAL_ITC_MSG_TYPES_BEGIN + 1)
+#define SIR_HAL_TIMER_TEMP_MEAS_REQ        (SIR_HAL_ITC_MSG_TYPES_BEGIN + 2)
+#define SIR_HAL_TIMER_PERIODIC_STATS_COLLECT_REQ   (SIR_HAL_ITC_MSG_TYPES_BEGIN + 3)
+#define SIR_HAL_CAL_REQ_NTF                (SIR_HAL_ITC_MSG_TYPES_BEGIN + 4)
+#define SIR_HAL_MNT_OPEN_TPC_TEMP_MEAS_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 5)
+#define SIR_HAL_CCA_MONITOR_INTERVAL_TO    (SIR_HAL_ITC_MSG_TYPES_BEGIN + 6)
+#define SIR_HAL_CCA_MONITOR_DURATION_TO    (SIR_HAL_ITC_MSG_TYPES_BEGIN + 7)
+#define SIR_HAL_CCA_MONITOR_START          (SIR_HAL_ITC_MSG_TYPES_BEGIN + 8)
+#define SIR_HAL_CCA_MONITOR_STOP           (SIR_HAL_ITC_MSG_TYPES_BEGIN + 9)
+#define SIR_HAL_CCA_CHANGE_MODE            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 10)
+#define SIR_HAL_TIMER_WRAP_AROUND_STATS_COLLECT_REQ   (SIR_HAL_ITC_MSG_TYPES_BEGIN + 11)
 
 /*
  * New Taurus related messages
  */
-#define SIR_HAL_ADD_STA_REQ                SIR_HAL_ITC_MSG_TYPES_BEGIN + 13
-#define SIR_HAL_ADD_STA_RSP                SIR_HAL_ITC_MSG_TYPES_BEGIN + 14
-#define SIR_HAL_DELETE_STA_REQ             SIR_HAL_ITC_MSG_TYPES_BEGIN + 15
-#define SIR_HAL_DELETE_STA_RSP             SIR_HAL_ITC_MSG_TYPES_BEGIN + 16
-#define SIR_HAL_ADD_BSS_REQ                SIR_HAL_ITC_MSG_TYPES_BEGIN + 17
-#define SIR_HAL_ADD_BSS_RSP                SIR_HAL_ITC_MSG_TYPES_BEGIN + 18
-#define SIR_HAL_DELETE_BSS_REQ             SIR_HAL_ITC_MSG_TYPES_BEGIN + 19
-#define SIR_HAL_DELETE_BSS_RSP             SIR_HAL_ITC_MSG_TYPES_BEGIN + 20
-#define SIR_HAL_INIT_SCAN_REQ              SIR_HAL_ITC_MSG_TYPES_BEGIN + 21
-#define SIR_HAL_INIT_SCAN_RSP              SIR_HAL_ITC_MSG_TYPES_BEGIN + 22
-#define SIR_HAL_START_SCAN_REQ             SIR_HAL_ITC_MSG_TYPES_BEGIN + 23
-#define SIR_HAL_START_SCAN_RSP             SIR_HAL_ITC_MSG_TYPES_BEGIN + 24
-#define SIR_HAL_END_SCAN_REQ               SIR_HAL_ITC_MSG_TYPES_BEGIN + 25
-#define SIR_HAL_END_SCAN_RSP               SIR_HAL_ITC_MSG_TYPES_BEGIN + 26
-#define SIR_HAL_FINISH_SCAN_REQ            SIR_HAL_ITC_MSG_TYPES_BEGIN + 27
-#define SIR_HAL_FINISH_SCAN_RSP            SIR_HAL_ITC_MSG_TYPES_BEGIN + 28
-#define SIR_HAL_SEND_BEACON_REQ            SIR_HAL_ITC_MSG_TYPES_BEGIN + 29
-#define SIR_HAL_SEND_BEACON_RSP            SIR_HAL_ITC_MSG_TYPES_BEGIN + 30
+#define SIR_HAL_ADD_STA_REQ                (SIR_HAL_ITC_MSG_TYPES_BEGIN + 13)
+#define SIR_HAL_ADD_STA_RSP                (SIR_HAL_ITC_MSG_TYPES_BEGIN + 14)
+#define SIR_HAL_DELETE_STA_REQ             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 15)
+#define SIR_HAL_DELETE_STA_RSP             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 16)
+#define SIR_HAL_ADD_BSS_REQ                (SIR_HAL_ITC_MSG_TYPES_BEGIN + 17)
+#define SIR_HAL_ADD_BSS_RSP                (SIR_HAL_ITC_MSG_TYPES_BEGIN + 18)
+#define SIR_HAL_DELETE_BSS_REQ             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 19)
+#define SIR_HAL_DELETE_BSS_RSP             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 20)
+#define SIR_HAL_INIT_SCAN_REQ              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 21)
+#define SIR_HAL_INIT_SCAN_RSP              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 22)
+#define SIR_HAL_START_SCAN_REQ             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 23)
+#define SIR_HAL_START_SCAN_RSP             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 24)
+#define SIR_HAL_END_SCAN_REQ               (SIR_HAL_ITC_MSG_TYPES_BEGIN + 25)
+#define SIR_HAL_END_SCAN_RSP               (SIR_HAL_ITC_MSG_TYPES_BEGIN + 26)
+#define SIR_HAL_FINISH_SCAN_REQ            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 27)
+#define SIR_HAL_FINISH_SCAN_RSP            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 28)
+#define SIR_HAL_SEND_BEACON_REQ            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 29)
+#define SIR_HAL_SEND_BEACON_RSP            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 30)
 
-#define SIR_HAL_INIT_CFG_REQ               SIR_HAL_ITC_MSG_TYPES_BEGIN + 31
-#define SIR_HAL_INIT_CFG_RSP               SIR_HAL_ITC_MSG_TYPES_BEGIN + 32
+#define SIR_HAL_INIT_CFG_REQ               (SIR_HAL_ITC_MSG_TYPES_BEGIN + 31)
+#define SIR_HAL_INIT_CFG_RSP               (SIR_HAL_ITC_MSG_TYPES_BEGIN + 32)
 
-#define SIR_HAL_INIT_WM_CFG_REQ            SIR_HAL_ITC_MSG_TYPES_BEGIN + 33
-#define SIR_HAL_INIT_WM_CFG_RSP            SIR_HAL_ITC_MSG_TYPES_BEGIN + 34
+#define SIR_HAL_INIT_WM_CFG_REQ            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 33)
+#define SIR_HAL_INIT_WM_CFG_RSP            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 34)
 
-#define SIR_HAL_SET_BSSKEY_REQ             SIR_HAL_ITC_MSG_TYPES_BEGIN + 35
-#define SIR_HAL_SET_BSSKEY_RSP             SIR_HAL_ITC_MSG_TYPES_BEGIN + 36
-#define SIR_HAL_SET_STAKEY_REQ             SIR_HAL_ITC_MSG_TYPES_BEGIN + 37
-#define SIR_HAL_SET_STAKEY_RSP             SIR_HAL_ITC_MSG_TYPES_BEGIN + 38
-#define SIR_HAL_DPU_STATS_REQ              SIR_HAL_ITC_MSG_TYPES_BEGIN + 39
-#define SIR_HAL_DPU_STATS_RSP              SIR_HAL_ITC_MSG_TYPES_BEGIN + 40
-#define SIR_HAL_GET_DPUINFO_REQ            SIR_HAL_ITC_MSG_TYPES_BEGIN + 41
-#define SIR_HAL_GET_DPUINFO_RSP            SIR_HAL_ITC_MSG_TYPES_BEGIN + 42
+#define SIR_HAL_SET_BSSKEY_REQ             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 35)
+#define SIR_HAL_SET_BSSKEY_RSP             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 36)
+#define SIR_HAL_SET_STAKEY_REQ             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 37)
+#define SIR_HAL_SET_STAKEY_RSP             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 38)
+#define SIR_HAL_DPU_STATS_REQ              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 39)
+#define SIR_HAL_DPU_STATS_RSP              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 40)
+#define SIR_HAL_GET_DPUINFO_REQ            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 41)
+#define SIR_HAL_GET_DPUINFO_RSP            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 42)
 
-#define SIR_HAL_UPDATE_EDCA_PROFILE_IND    SIR_HAL_ITC_MSG_TYPES_BEGIN + 43
+#define SIR_HAL_UPDATE_EDCA_PROFILE_IND    (SIR_HAL_ITC_MSG_TYPES_BEGIN + 43)
 
-#define SIR_HAL_UPDATE_STARATEINFO_REQ     SIR_HAL_ITC_MSG_TYPES_BEGIN + 45
-#define SIR_HAL_UPDATE_STARATEINFO_RSP     SIR_HAL_ITC_MSG_TYPES_BEGIN + 46
+#define SIR_HAL_UPDATE_STARATEINFO_REQ     (SIR_HAL_ITC_MSG_TYPES_BEGIN + 45)
+#define SIR_HAL_UPDATE_STARATEINFO_RSP     (SIR_HAL_ITC_MSG_TYPES_BEGIN + 46)
 
-#define SIR_HAL_UPDATE_BEACON_IND          SIR_HAL_ITC_MSG_TYPES_BEGIN + 47
-#define SIR_HAL_UPDATE_CF_IND              SIR_HAL_ITC_MSG_TYPES_BEGIN + 48
-#define SIR_HAL_CHNL_SWITCH_REQ            SIR_HAL_ITC_MSG_TYPES_BEGIN + 49
-#define SIR_HAL_ADD_TS_REQ                 SIR_HAL_ITC_MSG_TYPES_BEGIN + 50
-#define SIR_HAL_DEL_TS_REQ                 SIR_HAL_ITC_MSG_TYPES_BEGIN + 51
-#define SIR_HAL_SOFTMAC_TXSTAT_REPORT      SIR_HAL_ITC_MSG_TYPES_BEGIN + 52
+#define SIR_HAL_UPDATE_BEACON_IND          (SIR_HAL_ITC_MSG_TYPES_BEGIN + 47)
+#define SIR_HAL_UPDATE_CF_IND              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 48)
+#define SIR_HAL_CHNL_SWITCH_REQ            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 49)
+#define SIR_HAL_ADD_TS_REQ                 (SIR_HAL_ITC_MSG_TYPES_BEGIN + 50)
+#define SIR_HAL_DEL_TS_REQ                 (SIR_HAL_ITC_MSG_TYPES_BEGIN + 51)
+#define SIR_HAL_SOFTMAC_TXSTAT_REPORT      (SIR_HAL_ITC_MSG_TYPES_BEGIN + 52)
 
-#define SIR_HAL_MBOX_SENDMSG_COMPLETE_IND  SIR_HAL_ITC_MSG_TYPES_BEGIN + 61
-#define SIR_HAL_EXIT_BMPS_REQ              SIR_HAL_ITC_MSG_TYPES_BEGIN + 53
-#define SIR_HAL_EXIT_BMPS_RSP              SIR_HAL_ITC_MSG_TYPES_BEGIN + 54
-#define SIR_HAL_EXIT_BMPS_IND              SIR_HAL_ITC_MSG_TYPES_BEGIN + 55
-#define SIR_HAL_ENTER_BMPS_REQ             SIR_HAL_ITC_MSG_TYPES_BEGIN + 56
-#define SIR_HAL_ENTER_BMPS_RSP             SIR_HAL_ITC_MSG_TYPES_BEGIN + 57
-#define SIR_HAL_BMPS_STATUS_IND            SIR_HAL_ITC_MSG_TYPES_BEGIN + 58
-#define SIR_HAL_MISSED_BEACON_IND          SIR_HAL_ITC_MSG_TYPES_BEGIN + 59
+#define SIR_HAL_MBOX_SENDMSG_COMPLETE_IND  (SIR_HAL_ITC_MSG_TYPES_BEGIN + 61)
+#define SIR_HAL_EXIT_BMPS_REQ              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 53)
+#define SIR_HAL_EXIT_BMPS_RSP              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 54)
+#define SIR_HAL_EXIT_BMPS_IND              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 55)
+#define SIR_HAL_ENTER_BMPS_REQ             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 56)
+#define SIR_HAL_ENTER_BMPS_RSP             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 57)
+#define SIR_HAL_BMPS_STATUS_IND            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 58)
+#define SIR_HAL_MISSED_BEACON_IND          (SIR_HAL_ITC_MSG_TYPES_BEGIN + 59)
 
-#define SIR_HAL_SWITCH_CHANNEL_RSP         SIR_HAL_ITC_MSG_TYPES_BEGIN + 60
-#define SIR_HAL_PWR_SAVE_CFG               SIR_HAL_ITC_MSG_TYPES_BEGIN + 62
+#define SIR_HAL_SWITCH_CHANNEL_RSP         (SIR_HAL_ITC_MSG_TYPES_BEGIN + 60)
+#define SIR_HAL_PWR_SAVE_CFG               (SIR_HAL_ITC_MSG_TYPES_BEGIN + 62)
 
-#define SIR_HAL_REGISTER_PE_CALLBACK       SIR_HAL_ITC_MSG_TYPES_BEGIN + 63
-#define SIR_HAL_SOFTMAC_MEM_READREQUEST    SIR_HAL_ITC_MSG_TYPES_BEGIN + 64
-#define SIR_HAL_SOFTMAC_MEM_WRITEREQUEST   SIR_HAL_ITC_MSG_TYPES_BEGIN + 65
+#define SIR_HAL_REGISTER_PE_CALLBACK       (SIR_HAL_ITC_MSG_TYPES_BEGIN + 63)
+#define SIR_HAL_SOFTMAC_MEM_READREQUEST    (SIR_HAL_ITC_MSG_TYPES_BEGIN + 64)
+#define SIR_HAL_SOFTMAC_MEM_WRITEREQUEST   (SIR_HAL_ITC_MSG_TYPES_BEGIN + 65)
 
-#define SIR_HAL_SOFTMAC_MEM_READRESPONSE   SIR_HAL_ITC_MSG_TYPES_BEGIN + 66
-#define SIR_HAL_SOFTMAC_BULKREGWRITE_CONFIRM      SIR_HAL_ITC_MSG_TYPES_BEGIN + 67
-#define SIR_HAL_SOFTMAC_BULKREGREAD_RESPONSE      SIR_HAL_ITC_MSG_TYPES_BEGIN + 68
-#define SIR_HAL_SOFTMAC_HOSTMESG_MSGPROCESSRESULT SIR_HAL_ITC_MSG_TYPES_BEGIN + 69
+#define SIR_HAL_SOFTMAC_MEM_READRESPONSE   (SIR_HAL_ITC_MSG_TYPES_BEGIN + 66)
+#define SIR_HAL_SOFTMAC_BULKREGWRITE_CONFIRM      (SIR_HAL_ITC_MSG_TYPES_BEGIN + 67)
+#define SIR_HAL_SOFTMAC_BULKREGREAD_RESPONSE      (SIR_HAL_ITC_MSG_TYPES_BEGIN + 68)
+#define SIR_HAL_SOFTMAC_HOSTMESG_MSGPROCESSRESULT (SIR_HAL_ITC_MSG_TYPES_BEGIN + 69)
 
-#define SIR_HAL_ADDBA_REQ                  SIR_HAL_ITC_MSG_TYPES_BEGIN + 70
-#define SIR_HAL_ADDBA_RSP                  SIR_HAL_ITC_MSG_TYPES_BEGIN + 71
-#define SIR_HAL_DELBA_IND                  SIR_HAL_ITC_MSG_TYPES_BEGIN + 72
-#define SIR_HAL_DEL_BA_IND                 SIR_HAL_ITC_MSG_TYPES_BEGIN + 73
+#define SIR_HAL_ADDBA_REQ                  (SIR_HAL_ITC_MSG_TYPES_BEGIN + 70)
+#define SIR_HAL_ADDBA_RSP                  (SIR_HAL_ITC_MSG_TYPES_BEGIN + 71)
+#define SIR_HAL_DELBA_IND                  (SIR_HAL_ITC_MSG_TYPES_BEGIN + 72)
+#define SIR_HAL_DEL_BA_IND                 (SIR_HAL_ITC_MSG_TYPES_BEGIN + 73)
 
 //message from sme to initiate delete block ack session.
-#define SIR_HAL_DELBA_REQ                  SIR_HAL_ITC_MSG_TYPES_BEGIN + 74
-#define SIR_HAL_IBSS_STA_ADD               SIR_HAL_ITC_MSG_TYPES_BEGIN + 75
-#define SIR_HAL_TIMER_ADJUST_ADAPTIVE_THRESHOLD_IND   SIR_HAL_ITC_MSG_TYPES_BEGIN + 76
-#define SIR_HAL_SET_LINK_STATE             SIR_HAL_ITC_MSG_TYPES_BEGIN + 77
-#define SIR_HAL_ENTER_IMPS_REQ             SIR_HAL_ITC_MSG_TYPES_BEGIN + 78
-#define SIR_HAL_ENTER_IMPS_RSP             SIR_HAL_ITC_MSG_TYPES_BEGIN + 79
-#define SIR_HAL_EXIT_IMPS_RSP              SIR_HAL_ITC_MSG_TYPES_BEGIN + 80
-#define SIR_HAL_EXIT_IMPS_REQ              SIR_HAL_ITC_MSG_TYPES_BEGIN + 81
-#define SIR_HAL_SOFTMAC_HOSTMESG_PS_STATUS_IND  SIR_HAL_ITC_MSG_TYPES_BEGIN + 82
-#define SIR_HAL_POSTPONE_ENTER_IMPS_RSP    SIR_HAL_ITC_MSG_TYPES_BEGIN + 83
-#define SIR_HAL_STA_STAT_REQ               SIR_HAL_ITC_MSG_TYPES_BEGIN + 84
-#define SIR_HAL_GLOBAL_STAT_REQ            SIR_HAL_ITC_MSG_TYPES_BEGIN + 85
-#define SIR_HAL_AGGR_STAT_REQ              SIR_HAL_ITC_MSG_TYPES_BEGIN + 86
-#define SIR_HAL_STA_STAT_RSP               SIR_HAL_ITC_MSG_TYPES_BEGIN + 87
-#define SIR_HAL_GLOBAL_STAT_RSP            SIR_HAL_ITC_MSG_TYPES_BEGIN + 88
-#define SIR_HAL_AGGR_STAT_RSP              SIR_HAL_ITC_MSG_TYPES_BEGIN + 89
-#define SIR_HAL_STAT_SUMM_REQ              SIR_HAL_ITC_MSG_TYPES_BEGIN + 90
-#define SIR_HAL_STAT_SUMM_RSP              SIR_HAL_ITC_MSG_TYPES_BEGIN + 92
-#define SIR_HAL_REMOVE_BSSKEY_REQ          SIR_HAL_ITC_MSG_TYPES_BEGIN + 93
-#define SIR_HAL_REMOVE_BSSKEY_RSP          SIR_HAL_ITC_MSG_TYPES_BEGIN + 94
-#define SIR_HAL_REMOVE_STAKEY_REQ          SIR_HAL_ITC_MSG_TYPES_BEGIN + 95
-#define SIR_HAL_REMOVE_STAKEY_RSP          SIR_HAL_ITC_MSG_TYPES_BEGIN + 96
-#define SIR_HAL_SET_STA_BCASTKEY_REQ       SIR_HAL_ITC_MSG_TYPES_BEGIN + 97
-#define SIR_HAL_SET_STA_BCASTKEY_RSP       SIR_HAL_ITC_MSG_TYPES_BEGIN + 98
-#define SIR_HAL_REMOVE_STA_BCASTKEY_REQ    SIR_HAL_ITC_MSG_TYPES_BEGIN + 99
-#define SIR_HAL_REMOVE_STA_BCASTKEY_RSP    SIR_HAL_ITC_MSG_TYPES_BEGIN + 100
-#define SIR_HAL_ADD_TS_RSP                 SIR_HAL_ITC_MSG_TYPES_BEGIN + 101
-#define SIR_HAL_DPU_MIC_ERROR              SIR_HAL_ITC_MSG_TYPES_BEGIN + 102
-#define SIR_HAL_TIMER_BA_ACTIVITY_REQ      SIR_HAL_ITC_MSG_TYPES_BEGIN + 103
-#define SIR_HAL_TIMER_CHIP_MONITOR_TIMEOUT SIR_HAL_ITC_MSG_TYPES_BEGIN + 104
-#define SIR_HAL_TIMER_TRAFFIC_ACTIVITY_REQ SIR_HAL_ITC_MSG_TYPES_BEGIN + 105
-#define SIR_HAL_TIMER_ADC_RSSI_STATS       SIR_HAL_ITC_MSG_TYPES_BEGIN + 106
-#define SIR_HAL_MIC_FAILURE_IND            SIR_HAL_ITC_MSG_TYPES_BEGIN + 107
+#define SIR_HAL_DELBA_REQ                  (SIR_HAL_ITC_MSG_TYPES_BEGIN + 74)
+#define SIR_HAL_IBSS_STA_ADD               (SIR_HAL_ITC_MSG_TYPES_BEGIN + 75)
+#define SIR_HAL_TIMER_ADJUST_ADAPTIVE_THRESHOLD_IND   (SIR_HAL_ITC_MSG_TYPES_BEGIN + 76)
+#define SIR_HAL_SET_LINK_STATE             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 77)
+#define SIR_HAL_ENTER_IMPS_REQ             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 78)
+#define SIR_HAL_ENTER_IMPS_RSP             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 79)
+#define SIR_HAL_EXIT_IMPS_RSP              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 80)
+#define SIR_HAL_EXIT_IMPS_REQ              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 81)
+#define SIR_HAL_SOFTMAC_HOSTMESG_PS_STATUS_IND  (SIR_HAL_ITC_MSG_TYPES_BEGIN + 82)
+#define SIR_HAL_POSTPONE_ENTER_IMPS_RSP    (SIR_HAL_ITC_MSG_TYPES_BEGIN + 83)
+#define SIR_HAL_STA_STAT_REQ               (SIR_HAL_ITC_MSG_TYPES_BEGIN + 84)
+#define SIR_HAL_GLOBAL_STAT_REQ            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 85)
+#define SIR_HAL_AGGR_STAT_REQ              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 86)
+#define SIR_HAL_STA_STAT_RSP               (SIR_HAL_ITC_MSG_TYPES_BEGIN + 87)
+#define SIR_HAL_GLOBAL_STAT_RSP            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 88)
+#define SIR_HAL_AGGR_STAT_RSP              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 89)
+#define SIR_HAL_STAT_SUMM_REQ              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 90)
+#define SIR_HAL_STAT_SUMM_RSP              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 92)
+#define SIR_HAL_REMOVE_BSSKEY_REQ          (SIR_HAL_ITC_MSG_TYPES_BEGIN + 93)
+#define SIR_HAL_REMOVE_BSSKEY_RSP          (SIR_HAL_ITC_MSG_TYPES_BEGIN + 94)
+#define SIR_HAL_REMOVE_STAKEY_REQ          (SIR_HAL_ITC_MSG_TYPES_BEGIN + 95)
+#define SIR_HAL_REMOVE_STAKEY_RSP          (SIR_HAL_ITC_MSG_TYPES_BEGIN + 96)
+#define SIR_HAL_SET_STA_BCASTKEY_REQ       (SIR_HAL_ITC_MSG_TYPES_BEGIN + 97)
+#define SIR_HAL_SET_STA_BCASTKEY_RSP       (SIR_HAL_ITC_MSG_TYPES_BEGIN + 98)
+#define SIR_HAL_REMOVE_STA_BCASTKEY_REQ    (SIR_HAL_ITC_MSG_TYPES_BEGIN + 99)
+#define SIR_HAL_REMOVE_STA_BCASTKEY_RSP    (SIR_HAL_ITC_MSG_TYPES_BEGIN + 100)
+#define SIR_HAL_ADD_TS_RSP                 (SIR_HAL_ITC_MSG_TYPES_BEGIN + 101)
+#define SIR_HAL_DPU_MIC_ERROR              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 102)
+#define SIR_HAL_TIMER_BA_ACTIVITY_REQ      (SIR_HAL_ITC_MSG_TYPES_BEGIN + 103)
+#define SIR_HAL_TIMER_CHIP_MONITOR_TIMEOUT (SIR_HAL_ITC_MSG_TYPES_BEGIN + 104)
+#define SIR_HAL_TIMER_TRAFFIC_ACTIVITY_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 105)
+#define SIR_HAL_TIMER_ADC_RSSI_STATS       (SIR_HAL_ITC_MSG_TYPES_BEGIN + 106)
+#define SIR_HAL_MIC_FAILURE_IND            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 107)
 
 #ifdef WLAN_SOFTAP_FEATURE
 //107 ... Slots is Free for use.
-#define SIR_HAL_UPDATE_UAPSD_IND           SIR_HAL_ITC_MSG_TYPES_BEGIN + 108
+#define SIR_HAL_UPDATE_UAPSD_IND           (SIR_HAL_ITC_MSG_TYPES_BEGIN + 108)
 #endif
 
-#define SIR_HAL_SET_MIMOPS_REQ                      SIR_HAL_ITC_MSG_TYPES_BEGIN + 109
-#define SIR_HAL_SET_MIMOPS_RSP                      SIR_HAL_ITC_MSG_TYPES_BEGIN + 110
-#define SIR_HAL_SYS_READY_IND                       SIR_HAL_ITC_MSG_TYPES_BEGIN + 111
-#define SIR_HAL_SET_TX_POWER_REQ                    SIR_HAL_ITC_MSG_TYPES_BEGIN + 112
-#define SIR_HAL_SET_TX_POWER_RSP                    SIR_HAL_ITC_MSG_TYPES_BEGIN + 113
-#define SIR_HAL_GET_TX_POWER_REQ                    SIR_HAL_ITC_MSG_TYPES_BEGIN + 114
-#define SIR_HAL_GET_TX_POWER_RSP                    SIR_HAL_ITC_MSG_TYPES_BEGIN + 115
-#define SIR_HAL_GET_NOISE_REQ                       SIR_HAL_ITC_MSG_TYPES_BEGIN + 116
-#define SIR_HAL_GET_NOISE_RSP                       SIR_HAL_ITC_MSG_TYPES_BEGIN + 117
+#define SIR_HAL_SET_MIMOPS_REQ                      (SIR_HAL_ITC_MSG_TYPES_BEGIN + 109)
+#define SIR_HAL_SET_MIMOPS_RSP                      (SIR_HAL_ITC_MSG_TYPES_BEGIN + 110)
+#define SIR_HAL_SYS_READY_IND                       (SIR_HAL_ITC_MSG_TYPES_BEGIN + 111)
+#define SIR_HAL_SET_TX_POWER_REQ                    (SIR_HAL_ITC_MSG_TYPES_BEGIN + 112)
+#define SIR_HAL_SET_TX_POWER_RSP                    (SIR_HAL_ITC_MSG_TYPES_BEGIN + 113)
+#define SIR_HAL_GET_TX_POWER_REQ                    (SIR_HAL_ITC_MSG_TYPES_BEGIN + 114)
+#define SIR_HAL_GET_TX_POWER_RSP                    (SIR_HAL_ITC_MSG_TYPES_BEGIN + 115)
+#define SIR_HAL_GET_NOISE_REQ                       (SIR_HAL_ITC_MSG_TYPES_BEGIN + 116)
+#define SIR_HAL_GET_NOISE_RSP                       (SIR_HAL_ITC_MSG_TYPES_BEGIN + 117)
 
 /* Messages to support transmit_halt and transmit_resume */
-#define SIR_HAL_TRANSMISSION_CONTROL_IND            SIR_HAL_ITC_MSG_TYPES_BEGIN + 118
+#define SIR_HAL_TRANSMISSION_CONTROL_IND            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 118)
 /* Indication from LIM to HAL to Initialize radar interrupt */
-#define SIR_HAL_INIT_RADAR_IND                      SIR_HAL_ITC_MSG_TYPES_BEGIN + 119
+#define SIR_HAL_INIT_RADAR_IND                      (SIR_HAL_ITC_MSG_TYPES_BEGIN + 119)
 /* Messages to support transmit_halt and transmit_resume */
 
 
-#define SIR_HAL_BEACON_PRE_IND             SIR_HAL_ITC_MSG_TYPES_BEGIN + 120
-#define SIR_HAL_ENTER_UAPSD_REQ            SIR_HAL_ITC_MSG_TYPES_BEGIN + 121
-#define SIR_HAL_ENTER_UAPSD_RSP            SIR_HAL_ITC_MSG_TYPES_BEGIN + 122
-#define SIR_HAL_EXIT_UAPSD_REQ             SIR_HAL_ITC_MSG_TYPES_BEGIN + 123
-#define SIR_HAL_EXIT_UAPSD_RSP             SIR_HAL_ITC_MSG_TYPES_BEGIN + 124
-#define SIR_HAL_LOW_RSSI_IND               SIR_HAL_ITC_MSG_TYPES_BEGIN + 125
-#define SIR_HAL_BEACON_FILTER_IND          SIR_HAL_ITC_MSG_TYPES_BEGIN + 126
+#define SIR_HAL_BEACON_PRE_IND             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 120)
+#define SIR_HAL_ENTER_UAPSD_REQ            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 121)
+#define SIR_HAL_ENTER_UAPSD_RSP            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 122)
+#define SIR_HAL_EXIT_UAPSD_REQ             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 123)
+#define SIR_HAL_EXIT_UAPSD_RSP             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 124)
+#define SIR_HAL_LOW_RSSI_IND               (SIR_HAL_ITC_MSG_TYPES_BEGIN + 125)
+#define SIR_HAL_BEACON_FILTER_IND          (SIR_HAL_ITC_MSG_TYPES_BEGIN + 126)
 /// PE <-> HAL WOWL messages
-#define SIR_HAL_WOWL_ADD_BCAST_PTRN        SIR_HAL_ITC_MSG_TYPES_BEGIN + 127
-#define SIR_HAL_WOWL_DEL_BCAST_PTRN        SIR_HAL_ITC_MSG_TYPES_BEGIN + 128
-#define SIR_HAL_WOWL_ENTER_REQ             SIR_HAL_ITC_MSG_TYPES_BEGIN + 129
-#define SIR_HAL_WOWL_ENTER_RSP             SIR_HAL_ITC_MSG_TYPES_BEGIN + 130
-#define SIR_HAL_WOWL_EXIT_REQ              SIR_HAL_ITC_MSG_TYPES_BEGIN + 131
-#define SIR_HAL_WOWL_EXIT_RSP              SIR_HAL_ITC_MSG_TYPES_BEGIN + 132
-#define SIR_HAL_TX_COMPLETE_IND            SIR_HAL_ITC_MSG_TYPES_BEGIN + 133
-#define SIR_HAL_TIMER_RA_COLLECT_AND_ADAPT SIR_HAL_ITC_MSG_TYPES_BEGIN + 134
+#define SIR_HAL_WOWL_ADD_BCAST_PTRN        (SIR_HAL_ITC_MSG_TYPES_BEGIN + 127)
+#define SIR_HAL_WOWL_DEL_BCAST_PTRN        (SIR_HAL_ITC_MSG_TYPES_BEGIN + 128)
+#define SIR_HAL_WOWL_ENTER_REQ             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 129)
+#define SIR_HAL_WOWL_ENTER_RSP             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 130)
+#define SIR_HAL_WOWL_EXIT_REQ              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 131)
+#define SIR_HAL_WOWL_EXIT_RSP              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 132)
+#define SIR_HAL_TX_COMPLETE_IND            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 133)
+#define SIR_HAL_TIMER_RA_COLLECT_AND_ADAPT (SIR_HAL_ITC_MSG_TYPES_BEGIN + 134)
 /// PE <-> HAL statistics messages
-#define SIR_HAL_GET_STATISTICS_REQ         SIR_HAL_ITC_MSG_TYPES_BEGIN + 135
-#define SIR_HAL_GET_STATISTICS_RSP         SIR_HAL_ITC_MSG_TYPES_BEGIN + 136
-#define SIR_HAL_SET_KEY_DONE               SIR_HAL_ITC_MSG_TYPES_BEGIN + 137
+#define SIR_HAL_GET_STATISTICS_REQ         (SIR_HAL_ITC_MSG_TYPES_BEGIN + 135)
+#define SIR_HAL_GET_STATISTICS_RSP         (SIR_HAL_ITC_MSG_TYPES_BEGIN + 136)
+#define SIR_HAL_SET_KEY_DONE               (SIR_HAL_ITC_MSG_TYPES_BEGIN + 137)
 
 /// PE <-> HAL BTC messages
-#define SIR_HAL_BTC_SET_CFG                SIR_HAL_ITC_MSG_TYPES_BEGIN + 138
-#define SIR_HAL_SIGNAL_BT_EVENT            SIR_HAL_ITC_MSG_TYPES_BEGIN + 139
-#define SIR_HAL_HANDLE_FW_MBOX_RSP            SIR_HAL_ITC_MSG_TYPES_BEGIN + 140
-#define SIR_HAL_UPDATE_PROBE_RSP_TEMPLATE_IND     SIR_HAL_ITC_MSG_TYPES_BEGIN + 141
+#define SIR_HAL_BTC_SET_CFG                (SIR_HAL_ITC_MSG_TYPES_BEGIN + 138)
+#define SIR_HAL_SIGNAL_BT_EVENT            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 139)
+#define SIR_HAL_HANDLE_FW_MBOX_RSP            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 140)
+#define SIR_HAL_UPDATE_PROBE_RSP_TEMPLATE_IND     (SIR_HAL_ITC_MSG_TYPES_BEGIN + 141)
 
 #ifdef ANI_CHIPSET_VOLANS
 /* PE <-> HAL addr2 mismatch message */
-#define SIR_LIM_ADDR2_MISS_IND             SIR_HAL_ITC_MSG_TYPES_BEGIN + 142
+#define SIR_LIM_ADDR2_MISS_IND             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 142)
 #ifdef FEATURE_OEM_DATA_SUPPORT
 /* PE <-> HAL OEM_DATA RELATED MESSAGES */
-#define SIR_HAL_START_OEM_DATA_REQ         SIR_HAL_ITC_MSG_TYPES_BEGIN + 143
-#define SIR_HAL_START_OEM_DATA_RSP       SIR_HAL_ITC_MSG_TYPES_BEGIN + 144
-#define SIR_HAL_FINISH_OEM_DATA_REQ      SIR_HAL_ITC_MSG_TYPES_BEGIN + 145
+#define SIR_HAL_START_OEM_DATA_REQ         (SIR_HAL_ITC_MSG_TYPES_BEGIN + 143)
+#define SIR_HAL_START_OEM_DATA_RSP       (SIR_HAL_ITC_MSG_TYPES_BEGIN + 144)
+#define SIR_HAL_FINISH_OEM_DATA_REQ      (SIR_HAL_ITC_MSG_TYPES_BEGIN + 145)
 #endif
 #endif
 
-#define SIR_HAL_SET_MAX_TX_POWER_REQ       SIR_HAL_ITC_MSG_TYPES_BEGIN + 146
-#define SIR_HAL_SET_MAX_TX_POWER_RSP       SIR_HAL_ITC_MSG_TYPES_BEGIN + 147
+#define SIR_HAL_SET_MAX_TX_POWER_REQ       (SIR_HAL_ITC_MSG_TYPES_BEGIN + 146)
+#define SIR_HAL_SET_MAX_TX_POWER_RSP       (SIR_HAL_ITC_MSG_TYPES_BEGIN + 147)
 
-#define SIR_HAL_SEND_MSG_COMPLETE          SIR_HAL_ITC_MSG_TYPES_BEGIN + 148
+#define SIR_HAL_SEND_MSG_COMPLETE          (SIR_HAL_ITC_MSG_TYPES_BEGIN + 148)
 
 /// PE <-> HAL Host Offload message
-#define SIR_HAL_SET_HOST_OFFLOAD           SIR_HAL_ITC_MSG_TYPES_BEGIN + 149
+#define SIR_HAL_SET_HOST_OFFLOAD           (SIR_HAL_ITC_MSG_TYPES_BEGIN + 149)
 
-#define SIR_HAL_ADD_STA_SELF_REQ           SIR_HAL_ITC_MSG_TYPES_BEGIN + 150
-#define SIR_HAL_ADD_STA_SELF_RSP           SIR_HAL_ITC_MSG_TYPES_BEGIN + 151
-#define SIR_HAL_DEL_STA_SELF_REQ           SIR_HAL_ITC_MSG_TYPES_BEGIN + 152
-#define SIR_HAL_DEL_STA_SELF_RSP           SIR_HAL_ITC_MSG_TYPES_BEGIN + 153
-#define SIR_HAL_SIGNAL_BTAMP_EVENT         SIR_HAL_ITC_MSG_TYPES_BEGIN + 154
+#define SIR_HAL_ADD_STA_SELF_REQ           (SIR_HAL_ITC_MSG_TYPES_BEGIN + 150)
+#define SIR_HAL_ADD_STA_SELF_RSP           (SIR_HAL_ITC_MSG_TYPES_BEGIN + 151)
+#define SIR_HAL_DEL_STA_SELF_REQ           (SIR_HAL_ITC_MSG_TYPES_BEGIN + 152)
+#define SIR_HAL_DEL_STA_SELF_RSP           (SIR_HAL_ITC_MSG_TYPES_BEGIN + 153)
+#define SIR_HAL_SIGNAL_BTAMP_EVENT         (SIR_HAL_ITC_MSG_TYPES_BEGIN + 154)
 
-#define SIR_HAL_CFG_RXP_FILTER_REQ         SIR_HAL_ITC_MSG_TYPES_BEGIN + 155
-#define SIR_HAL_CFG_RXP_FILTER_RSP         SIR_HAL_ITC_MSG_TYPES_BEGIN + 156
+#define SIR_HAL_CFG_RXP_FILTER_REQ         (SIR_HAL_ITC_MSG_TYPES_BEGIN + 155)
+#define SIR_HAL_CFG_RXP_FILTER_RSP         (SIR_HAL_ITC_MSG_TYPES_BEGIN + 156)
 
 #ifdef WLAN_FEATURE_VOWIFI_11R
-#define SIR_HAL_AGGR_ADD_TS_REQ            SIR_HAL_ITC_MSG_TYPES_BEGIN + 157
-#define SIR_HAL_AGGR_ADD_TS_RSP            SIR_HAL_ITC_MSG_TYPES_BEGIN + 158
-#define SIR_HAL_AGGR_QOS_REQ               SIR_HAL_ITC_MSG_TYPES_BEGIN + 159
-#define SIR_HAL_AGGR_QOS_RSP               SIR_HAL_ITC_MSG_TYPES_BEGIN + 160
+#define SIR_HAL_AGGR_ADD_TS_REQ            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 157)
+#define SIR_HAL_AGGR_ADD_TS_RSP            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 158)
+#define SIR_HAL_AGGR_QOS_REQ               (SIR_HAL_ITC_MSG_TYPES_BEGIN + 159)
+#define SIR_HAL_AGGR_QOS_RSP               (SIR_HAL_ITC_MSG_TYPES_BEGIN + 160)
 #endif /* WLAN_FEATURE_VOWIFI_11R */
 
 #ifdef WLAN_FEATURE_P2P
 /* P2P <-> HAL P2P msg */
-#define SIR_HAL_SET_P2P_GO_NOA_REQ         SIR_HAL_ITC_MSG_TYPES_BEGIN + 161
-#define SIR_HAL_P2P_NOA_ATTR_IND           SIR_HAL_ITC_MSG_TYPES_BEGIN + 162
+#define SIR_HAL_SET_P2P_GO_NOA_REQ         (SIR_HAL_ITC_MSG_TYPES_BEGIN + 161)
+#define SIR_HAL_P2P_NOA_ATTR_IND           (SIR_HAL_ITC_MSG_TYPES_BEGIN + 162)
 #endif
 
-#define SIR_HAL_SET_LINK_STATE_RSP             SIR_HAL_ITC_MSG_TYPES_BEGIN + 165
+#define SIR_HAL_SET_LINK_STATE_RSP             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 165)
 
 
 #ifdef FEATURE_WLAN_INTEGRATED_SOC
-#define SIR_HAL_WLAN_SUSPEND_IND               SIR_HAL_ITC_MSG_TYPES_BEGIN + 166
-#define SIR_HAL_WLAN_RESUME_REQ                SIR_HAL_ITC_MSG_TYPES_BEGIN + 167
+#define SIR_HAL_WLAN_SUSPEND_IND               (SIR_HAL_ITC_MSG_TYPES_BEGIN + 166)
+#define SIR_HAL_WLAN_RESUME_REQ                (SIR_HAL_ITC_MSG_TYPES_BEGIN + 167)
 #endif
 
 /// PE <-> HAL Keep Alive message
-#define SIR_HAL_SET_KEEP_ALIVE             SIR_HAL_ITC_MSG_TYPES_BEGIN + 168
+#define SIR_HAL_SET_KEEP_ALIVE             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 168)
 
 #ifdef WLAN_NS_OFFLOAD
-#define SIR_HAL_SET_NS_OFFLOAD             SIR_HAL_ITC_MSG_TYPES_BEGIN + 169
+#define SIR_HAL_SET_NS_OFFLOAD             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 169)
 #endif //WLAN_NS_OFFLOAD
 
 #ifdef FEATURE_WLAN_SCAN_PNO
-#define SIR_HAL_SET_PNO_REQ                SIR_HAL_ITC_MSG_TYPES_BEGIN + 170
-#define SIR_HAL_SET_PNO_CHANGED_IND        SIR_HAL_ITC_MSG_TYPES_BEGIN + 171
-#define SIR_HAL_UPDATE_SCAN_PARAMS         SIR_HAL_ITC_MSG_TYPES_BEGIN + 172
-#define SIR_HAL_SET_RSSI_FILTER_REQ        SIR_HAL_ITC_MSG_TYPES_BEGIN + 173  
+#define SIR_HAL_SET_PNO_REQ                (SIR_HAL_ITC_MSG_TYPES_BEGIN + 170)
+#define SIR_HAL_SET_PNO_CHANGED_IND        (SIR_HAL_ITC_MSG_TYPES_BEGIN + 171)
+#define SIR_HAL_UPDATE_SCAN_PARAMS         (SIR_HAL_ITC_MSG_TYPES_BEGIN + 172)
+#define SIR_HAL_SET_RSSI_FILTER_REQ        (SIR_HAL_ITC_MSG_TYPES_BEGIN + 173)
 #endif // FEATURE_WLAN_SCAN_PNO
 
 
-#define SIR_HAL_SET_TX_PER_TRACKING_REQ             SIR_HAL_ITC_MSG_TYPES_BEGIN + 174
+#define SIR_HAL_SET_TX_PER_TRACKING_REQ             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 174)
 
 #ifdef WLAN_FEATURE_PACKET_FILTERING
-#define SIR_HAL_8023_MULTICAST_LIST_REQ                     SIR_HAL_ITC_MSG_TYPES_BEGIN + 175
-#define SIR_HAL_RECEIVE_FILTER_SET_FILTER_REQ                 SIR_HAL_ITC_MSG_TYPES_BEGIN + 176
-#define SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ    SIR_HAL_ITC_MSG_TYPES_BEGIN + 177
-#define SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP    SIR_HAL_ITC_MSG_TYPES_BEGIN + 178
-#define SIR_HAL_RECEIVE_FILTER_CLEAR_FILTER_REQ             SIR_HAL_ITC_MSG_TYPES_BEGIN + 179                 
+#define SIR_HAL_8023_MULTICAST_LIST_REQ                     (SIR_HAL_ITC_MSG_TYPES_BEGIN + 175)
+#define SIR_HAL_RECEIVE_FILTER_SET_FILTER_REQ                 (SIR_HAL_ITC_MSG_TYPES_BEGIN + 176)
+#define SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ    (SIR_HAL_ITC_MSG_TYPES_BEGIN + 177)
+#define SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP    (SIR_HAL_ITC_MSG_TYPES_BEGIN + 178)
+#define SIR_HAL_RECEIVE_FILTER_CLEAR_FILTER_REQ             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 179)
 #endif // WLAN_FEATURE_PACKET_FILTERING
 
-#define SIR_HAL_SET_POWER_PARAMS_REQ SIR_HAL_ITC_MSG_TYPES_BEGIN + 180
+#define SIR_HAL_SET_POWER_PARAMS_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 180)
 
 #ifdef WLAN_FEATURE_GTK_OFFLOAD
-#define SIR_HAL_GTK_OFFLOAD_REQ            SIR_HAL_ITC_MSG_TYPES_BEGIN + 181
-#define SIR_HAL_GTK_OFFLOAD_GETINFO_REQ    SIR_HAL_ITC_MSG_TYPES_BEGIN + 182
-#define SIR_HAL_GTK_OFFLOAD_GETINFO_RSP    SIR_HAL_ITC_MSG_TYPES_BEGIN + 183
+#define SIR_HAL_GTK_OFFLOAD_REQ            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 181)
+#define SIR_HAL_GTK_OFFLOAD_GETINFO_REQ    (SIR_HAL_ITC_MSG_TYPES_BEGIN + 182)
+#define SIR_HAL_GTK_OFFLOAD_GETINFO_RSP    (SIR_HAL_ITC_MSG_TYPES_BEGIN + 183)
 #endif //WLAN_FEATURE_GTK_OFFLOAD
 
 #ifdef FEATURE_WLAN_CCX
-#define SIR_HAL_TSM_STATS_REQ              SIR_HAL_ITC_MSG_TYPES_BEGIN + 184
-#define SIR_HAL_TSM_STATS_RSP              SIR_HAL_ITC_MSG_TYPES_BEGIN + 185
+#define SIR_HAL_TSM_STATS_REQ              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 184)
+#define SIR_HAL_TSM_STATS_RSP              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 185)
 #endif
 
 
 #ifdef WLAN_WAKEUP_EVENTS
-#define SIR_HAL_WAKE_REASON_IND            SIR_HAL_ITC_MSG_TYPES_BEGIN + 186
+#define SIR_HAL_WAKE_REASON_IND            (SIR_HAL_ITC_MSG_TYPES_BEGIN + 186)
 #endif //WLAN_WAKEUP_EVENTS
 
-#define SIR_HAL_SET_TM_LEVEL_REQ           SIR_HAL_ITC_MSG_TYPES_BEGIN + 187
+#define SIR_HAL_SET_TM_LEVEL_REQ           (SIR_HAL_ITC_MSG_TYPES_BEGIN + 187)
 
 #ifdef WLAN_FEATURE_11AC
-#define SIR_HAL_UPDATE_OP_MODE             SIR_HAL_ITC_MSG_TYPES_BEGIN + 188
+#define SIR_HAL_UPDATE_OP_MODE             (SIR_HAL_ITC_MSG_TYPES_BEGIN + 188)
 #endif
 
-#define SIR_HAL_MSG_TYPES_END              SIR_HAL_ITC_MSG_TYPES_BEGIN + 0xFF
+#define SIR_HAL_MSG_TYPES_END              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 0xFF)
 // CFG message types
 #define SIR_CFG_MSG_TYPES_BEGIN        (SIR_CFG_MODULE_ID << 8)
-#define SIR_CFG_ITC_MSG_TYPES_BEGIN    SIR_CFG_MSG_TYPES_BEGIN+0xB0
-#define SIR_CFG_PARAM_UPDATE_IND       SIR_CFG_ITC_MSG_TYPES_BEGIN
-#define SIR_CFG_DOWNLOAD_COMPLETE_IND  SIR_CFG_ITC_MSG_TYPES_BEGIN + 1
-#define SIR_CFG_MSG_TYPES_END          SIR_CFG_MSG_TYPES_BEGIN+0xFF
+#define SIR_CFG_ITC_MSG_TYPES_BEGIN    (SIR_CFG_MSG_TYPES_BEGIN+0xB0)
+#define SIR_CFG_PARAM_UPDATE_IND       (SIR_CFG_ITC_MSG_TYPES_BEGIN)
+#define SIR_CFG_DOWNLOAD_COMPLETE_IND  (SIR_CFG_ITC_MSG_TYPES_BEGIN + 1)
+#define SIR_CFG_MSG_TYPES_END          (SIR_CFG_MSG_TYPES_BEGIN+0xFF)
 
 // LIM message types
 #define SIR_LIM_MSG_TYPES_BEGIN        (SIR_LIM_MODULE_ID << 8)
-#define SIR_LIM_ITC_MSG_TYPES_BEGIN    SIR_LIM_MSG_TYPES_BEGIN+0xB0
+#define SIR_LIM_ITC_MSG_TYPES_BEGIN    (SIR_LIM_MSG_TYPES_BEGIN+0xB0)
 
 // Messages to/from HAL
 // Removed as part of moving HAL down to FW
 
 // Message from ISR upon TFP retry interrupt
-#define SIR_LIM_RETRY_INTERRUPT_MSG        SIR_LIM_ITC_MSG_TYPES_BEGIN + 3
+#define SIR_LIM_RETRY_INTERRUPT_MSG        (SIR_LIM_ITC_MSG_TYPES_BEGIN + 3)
 // Message from BB Transport
-#define SIR_BB_XPORT_MGMT_MSG              SIR_LIM_ITC_MSG_TYPES_BEGIN + 4
+#define SIR_BB_XPORT_MGMT_MSG              (SIR_LIM_ITC_MSG_TYPES_BEGIN + 4)
 // UNUSED                                  SIR_LIM_ITC_MSG_TYPES_BEGIN + 6
 // Message from ISR upon SP's Invalid session key interrupt
-#define SIR_LIM_INV_KEY_INTERRUPT_MSG      SIR_LIM_ITC_MSG_TYPES_BEGIN + 7
+#define SIR_LIM_INV_KEY_INTERRUPT_MSG      (SIR_LIM_ITC_MSG_TYPES_BEGIN + 7)
 // Message from ISR upon SP's Invalid key ID interrupt
-#define SIR_LIM_KEY_ID_INTERRUPT_MSG       SIR_LIM_ITC_MSG_TYPES_BEGIN + 8
+#define SIR_LIM_KEY_ID_INTERRUPT_MSG       (SIR_LIM_ITC_MSG_TYPES_BEGIN + 8)
 // Message from ISR upon SP's Replay threshold reached interrupt
-#define SIR_LIM_REPLAY_THRES_INTERRUPT_MSG SIR_LIM_ITC_MSG_TYPES_BEGIN + 9
+#define SIR_LIM_REPLAY_THRES_INTERRUPT_MSG (SIR_LIM_ITC_MSG_TYPES_BEGIN + 9)
 // Message from HDD after the TD dummy packet is cleaned up
-#define SIR_LIM_TD_DUMMY_CALLBACK_MSG      SIR_LIM_ITC_MSG_TYPES_BEGIN + 0xA
+#define SIR_LIM_TD_DUMMY_CALLBACK_MSG      (SIR_LIM_ITC_MSG_TYPES_BEGIN + 0xA)
 // Message from SCH when the STA is ready to be deleted
-#define SIR_LIM_SCH_CLEAN_MSG              SIR_LIM_ITC_MSG_TYPES_BEGIN + 0xB
+#define SIR_LIM_SCH_CLEAN_MSG              (SIR_LIM_ITC_MSG_TYPES_BEGIN + 0xB)
 // Message from ISR upon Radar Detection
-#define SIR_LIM_RADAR_DETECT_IND           SIR_LIM_ITC_MSG_TYPES_BEGIN + 0xC
+#define SIR_LIM_RADAR_DETECT_IND           (SIR_LIM_ITC_MSG_TYPES_BEGIN + 0xC)
 
 /////////////////////////////////////
 // message id Available
@@ -581,95 +581,95 @@
 
 
 // Message from Hal to send out a DEL-TS indication
-#define SIR_LIM_DEL_TS_IND                  SIR_LIM_ITC_MSG_TYPES_BEGIN + 0xE
+#define SIR_LIM_DEL_TS_IND                  (SIR_LIM_ITC_MSG_TYPES_BEGIN + 0xE)
 //Message from HAL to send BA global timer timeout
-#define SIR_LIM_ADD_BA_IND                  SIR_LIM_ITC_MSG_TYPES_BEGIN + 0xF
+#define SIR_LIM_ADD_BA_IND                  (SIR_LIM_ITC_MSG_TYPES_BEGIN + 0xF)
 //Indication from HAL to delete all the BA sessions when the BA activity check timer is disabled
-#define SIR_LIM_DEL_BA_ALL_IND                  SIR_LIM_ITC_MSG_TYPES_BEGIN + 0x10
+#define SIR_LIM_DEL_BA_ALL_IND                  (SIR_LIM_ITC_MSG_TYPES_BEGIN + 0x10)
 //Indication from HAL to delete Station context
-#define SIR_LIM_DELETE_STA_CONTEXT_IND          SIR_LIM_ITC_MSG_TYPES_BEGIN + 0x11
+#define SIR_LIM_DELETE_STA_CONTEXT_IND          (SIR_LIM_ITC_MSG_TYPES_BEGIN + 0x11)
 //Indication from HAL to delete BA
-#define SIR_LIM_DEL_BA_IND                      SIR_LIM_ITC_MSG_TYPES_BEGIN + 0x12
-#define SIR_LIM_UPDATE_BEACON                   SIR_LIM_ITC_MSG_TYPES_BEGIN + 0x13 
+#define SIR_LIM_DEL_BA_IND                      (SIR_LIM_ITC_MSG_TYPES_BEGIN + 0x12)
+#define SIR_LIM_UPDATE_BEACON                   (SIR_LIM_ITC_MSG_TYPES_BEGIN + 0x13)
 
 
 // LIM Timeout messages
-#define SIR_LIM_TIMEOUT_MSG_START      (SIR_LIM_MODULE_ID  << 8) + 0xD0
+#define SIR_LIM_TIMEOUT_MSG_START      ((SIR_LIM_MODULE_ID  << 8) + 0xD0)
 #define SIR_LIM_MIN_CHANNEL_TIMEOUT    SIR_LIM_TIMEOUT_MSG_START
-#define SIR_LIM_MAX_CHANNEL_TIMEOUT    SIR_LIM_TIMEOUT_MSG_START + 1
-#define SIR_LIM_JOIN_FAIL_TIMEOUT      SIR_LIM_TIMEOUT_MSG_START + 2
-#define SIR_LIM_AUTH_FAIL_TIMEOUT      SIR_LIM_TIMEOUT_MSG_START + 3
-#define SIR_LIM_AUTH_RSP_TIMEOUT       SIR_LIM_TIMEOUT_MSG_START + 4
-#define SIR_LIM_ASSOC_FAIL_TIMEOUT     SIR_LIM_TIMEOUT_MSG_START + 5
-#define SIR_LIM_REASSOC_FAIL_TIMEOUT   SIR_LIM_TIMEOUT_MSG_START + 6
-#define SIR_LIM_HEART_BEAT_TIMEOUT     SIR_LIM_TIMEOUT_MSG_START + 7
+#define SIR_LIM_MAX_CHANNEL_TIMEOUT    (SIR_LIM_TIMEOUT_MSG_START + 1)
+#define SIR_LIM_JOIN_FAIL_TIMEOUT      (SIR_LIM_TIMEOUT_MSG_START + 2)
+#define SIR_LIM_AUTH_FAIL_TIMEOUT      (SIR_LIM_TIMEOUT_MSG_START + 3)
+#define SIR_LIM_AUTH_RSP_TIMEOUT       (SIR_LIM_TIMEOUT_MSG_START + 4)
+#define SIR_LIM_ASSOC_FAIL_TIMEOUT     (SIR_LIM_TIMEOUT_MSG_START + 5)
+#define SIR_LIM_REASSOC_FAIL_TIMEOUT   (SIR_LIM_TIMEOUT_MSG_START + 6)
+#define SIR_LIM_HEART_BEAT_TIMEOUT     (SIR_LIM_TIMEOUT_MSG_START + 7)
 // currently unused                    SIR_LIM_TIMEOUT_MSG_START + 0x8
 #if (WNI_POLARIS_FW_PRODUCT == AP)
-#define SIR_LIM_PREAUTH_CLNUP_TIMEOUT  SIR_LIM_TIMEOUT_MSG_START + 0x9
+#define SIR_LIM_PREAUTH_CLNUP_TIMEOUT  (SIR_LIM_TIMEOUT_MSG_START + 0x9)
 #endif
 // Link Monitoring Messages
-#define SIR_LIM_CHANNEL_SCAN_TIMEOUT     SIR_LIM_TIMEOUT_MSG_START + 0xA
-#define SIR_LIM_PROBE_HB_FAILURE_TIMEOUT SIR_LIM_TIMEOUT_MSG_START + 0xB
-#define SIR_LIM_ADDTS_RSP_TIMEOUT        SIR_LIM_TIMEOUT_MSG_START + 0xC
+#define SIR_LIM_CHANNEL_SCAN_TIMEOUT     (SIR_LIM_TIMEOUT_MSG_START + 0xA)
+#define SIR_LIM_PROBE_HB_FAILURE_TIMEOUT (SIR_LIM_TIMEOUT_MSG_START + 0xB)
+#define SIR_LIM_ADDTS_RSP_TIMEOUT        (SIR_LIM_TIMEOUT_MSG_START + 0xC)
 #if (WNI_POLARIS_FW_PRODUCT == AP) && (WNI_POLARIS_FW_PACKAGE == ADVANCED)
-#define SIR_LIM_MEASUREMENT_IND_TIMEOUT  SIR_LIM_TIMEOUT_MSG_START + 0x10
-#define SIR_LIM_LEARN_INTERVAL_TIMEOUT   SIR_LIM_TIMEOUT_MSG_START + 0x11
-#define SIR_LIM_LEARN_DURATION_TIMEOUT   SIR_LIM_TIMEOUT_MSG_START + 0x12
+#define SIR_LIM_MEASUREMENT_IND_TIMEOUT  (SIR_LIM_TIMEOUT_MSG_START + 0x10)
+#define SIR_LIM_LEARN_INTERVAL_TIMEOUT   (SIR_LIM_TIMEOUT_MSG_START + 0x11)
+#define SIR_LIM_LEARN_DURATION_TIMEOUT   (SIR_LIM_TIMEOUT_MSG_START + 0x12)
 #endif
-#define SIR_LIM_LINK_TEST_DURATION_TIMEOUT SIR_LIM_TIMEOUT_MSG_START + 0x13
-#define SIR_LIM_HASH_MISS_THRES_TIMEOUT  SIR_LIM_TIMEOUT_MSG_START + 0x16
-#define SIR_LIM_CNF_WAIT_TIMEOUT         SIR_LIM_TIMEOUT_MSG_START + 0x17
-#define SIR_LIM_KEEPALIVE_TIMEOUT        SIR_LIM_TIMEOUT_MSG_START + 0x18
-#define SIR_LIM_UPDATE_OLBC_CACHEL_TIMEOUT SIR_LIM_TIMEOUT_MSG_START + 0x19
-#define SIR_LIM_CHANNEL_SWITCH_TIMEOUT   SIR_LIM_TIMEOUT_MSG_START + 0x1A
-#define SIR_LIM_QUIET_TIMEOUT            SIR_LIM_TIMEOUT_MSG_START + 0x1B
-#define SIR_LIM_QUIET_BSS_TIMEOUT        SIR_LIM_TIMEOUT_MSG_START + 0x1C
+#define SIR_LIM_LINK_TEST_DURATION_TIMEOUT (SIR_LIM_TIMEOUT_MSG_START + 0x13)
+#define SIR_LIM_HASH_MISS_THRES_TIMEOUT  (SIR_LIM_TIMEOUT_MSG_START + 0x16)
+#define SIR_LIM_CNF_WAIT_TIMEOUT         (SIR_LIM_TIMEOUT_MSG_START + 0x17)
+#define SIR_LIM_KEEPALIVE_TIMEOUT        (SIR_LIM_TIMEOUT_MSG_START + 0x18)
+#define SIR_LIM_UPDATE_OLBC_CACHEL_TIMEOUT (SIR_LIM_TIMEOUT_MSG_START + 0x19)
+#define SIR_LIM_CHANNEL_SWITCH_TIMEOUT   (SIR_LIM_TIMEOUT_MSG_START + 0x1A)
+#define SIR_LIM_QUIET_TIMEOUT            (SIR_LIM_TIMEOUT_MSG_START + 0x1B)
+#define SIR_LIM_QUIET_BSS_TIMEOUT        (SIR_LIM_TIMEOUT_MSG_START + 0x1C)
 
 #ifdef WLAN_SOFTAP_FEATURE
-#define SIR_LIM_WPS_OVERLAP_TIMEOUT      SIR_LIM_TIMEOUT_MSG_START + 0x1D
+#define SIR_LIM_WPS_OVERLAP_TIMEOUT      (SIR_LIM_TIMEOUT_MSG_START + 0x1D)
 #endif
 #ifdef WLAN_FEATURE_VOWIFI_11R
-#define SIR_LIM_FT_PREAUTH_RSP_TIMEOUT   SIR_LIM_TIMEOUT_MSG_START + 0x1E
+#define SIR_LIM_FT_PREAUTH_RSP_TIMEOUT   (SIR_LIM_TIMEOUT_MSG_START + 0x1E)
 #endif
 #ifdef WLAN_FEATURE_P2P
-#define SIR_LIM_REMAIN_CHN_TIMEOUT       SIR_LIM_TIMEOUT_MSG_START + 0x1F
+#define SIR_LIM_REMAIN_CHN_TIMEOUT       (SIR_LIM_TIMEOUT_MSG_START + 0x1F)
 #endif
 
 #ifdef WMM_APSD
-#define SIR_LIM_WMM_APSD_SP_START_MSG_TYPE SIR_LIM_TIMEOUT_MSG_START + 0x21
-#define SIR_LIM_WMM_APSD_SP_END_MSG_TYPE SIR_LIM_TIMEOUT_MSG_START + 0x22
+#define SIR_LIM_WMM_APSD_SP_START_MSG_TYPE (SIR_LIM_TIMEOUT_MSG_START + 0x21)
+#define SIR_LIM_WMM_APSD_SP_END_MSG_TYPE (SIR_LIM_TIMEOUT_MSG_START + 0x22)
 #endif
-#define SIR_LIM_BEACON_GEN_IND          SIR_LIM_TIMEOUT_MSG_START + 0x23
-#define SIR_LIM_PERIODIC_PROBE_REQ_TIMEOUT    SIR_LIM_TIMEOUT_MSG_START + 0x24
+#define SIR_LIM_BEACON_GEN_IND          (SIR_LIM_TIMEOUT_MSG_START + 0x23)
+#define SIR_LIM_PERIODIC_PROBE_REQ_TIMEOUT    (SIR_LIM_TIMEOUT_MSG_START + 0x24)
 #ifdef FEATURE_WLAN_CCX
-#define SIR_LIM_CCX_TSM_TIMEOUT        SIR_LIM_TIMEOUT_MSG_START + 0x25
+#define SIR_LIM_CCX_TSM_TIMEOUT        (SIR_LIM_TIMEOUT_MSG_START + 0x25)
 #endif
 
-#define SIR_LIM_MSG_TYPES_END            SIR_LIM_MSG_TYPES_BEGIN+0xFF
+#define SIR_LIM_MSG_TYPES_END            (SIR_LIM_MSG_TYPES_BEGIN+0xFF)
 
 // SCH message types
 #define SIR_SCH_MSG_TYPES_BEGIN        (SIR_SCH_MODULE_ID << 8)
-#define SIR_SCH_CHANNEL_SWITCH_REQUEST SIR_SCH_MSG_TYPES_BEGIN
-#define SIR_SCH_START_SCAN_REQ         SIR_SCH_MSG_TYPES_BEGIN + 1
-#define SIR_SCH_START_SCAN_RSP         SIR_SCH_MSG_TYPES_BEGIN + 2
-#define SIR_SCH_END_SCAN_NTF           SIR_SCH_MSG_TYPES_BEGIN + 3
-#define SIR_SCH_MSG_TYPES_END          SIR_SCH_MSG_TYPES_BEGIN+0xFF
+#define SIR_SCH_CHANNEL_SWITCH_REQUEST (SIR_SCH_MSG_TYPES_BEGIN)
+#define SIR_SCH_START_SCAN_REQ         (SIR_SCH_MSG_TYPES_BEGIN + 1)
+#define SIR_SCH_START_SCAN_RSP         (SIR_SCH_MSG_TYPES_BEGIN + 2)
+#define SIR_SCH_END_SCAN_NTF           (SIR_SCH_MSG_TYPES_BEGIN + 3)
+#define SIR_SCH_MSG_TYPES_END          (SIR_SCH_MSG_TYPES_BEGIN+0xFF)
 
 // PMM message types
 #define SIR_PMM_MSG_TYPES_BEGIN        (SIR_PMM_MODULE_ID << 8)
-#define SIR_PMM_CHANGE_PM_MODE         SIR_PMM_MSG_TYPES_BEGIN
+#define SIR_PMM_CHANGE_PM_MODE         (SIR_PMM_MSG_TYPES_BEGIN)
 #define SIR_PMM_CHANGE_IMPS_MODE       (SIR_PMM_MSG_TYPES_BEGIN + 1)        //for Idle mode power save
 #define SIR_PMM_MSG_TYPES_END          (SIR_PMM_MSG_TYPES_BEGIN+0xFF)
 
 // MNT message types
 #define SIR_MNT_MSG_TYPES_BEGIN        (SIR_MNT_MODULE_ID << 8)
-#define SIR_MNT_RELEASE_BD             SIR_MNT_MSG_TYPES_BEGIN + 0
-#define SIR_MNT_MSG_TYPES_END          SIR_MNT_MSG_TYPES_BEGIN + 0xFF
+#define SIR_MNT_RELEASE_BD             (SIR_MNT_MSG_TYPES_BEGIN + 0)
+#define SIR_MNT_MSG_TYPES_END          (SIR_MNT_MSG_TYPES_BEGIN + 0xFF)
 
 // DVT message types
 #define SIR_DVT_MSG_TYPES_BEGIN        (SIR_DVT_MODULE_ID << 8)
-#define SIR_DVT_ITC_MSG_TYPES_BEGIN    SIR_DVT_MSG_TYPES_BEGIN+0x0F
-#define SIR_DVT_MSG_TYPES_END          SIR_DVT_ITC_MSG_TYPES_BEGIN+0xFFF
+#define SIR_DVT_ITC_MSG_TYPES_BEGIN    (SIR_DVT_MSG_TYPES_BEGIN+0x0F)
+#define SIR_DVT_MSG_TYPES_END          (SIR_DVT_ITC_MSG_TYPES_BEGIN+0xFFF)
 
 
 //PTT message types
diff --git a/CORE/MAC/src/include/utilsApi.h b/CORE/MAC/src/include/utilsApi.h
index 3cece2d..86101e2 100644
--- a/CORE/MAC/src/include/utilsApi.h
+++ b/CORE/MAC/src/include/utilsApi.h
@@ -52,7 +52,7 @@
 extern void rt_sched_lock();
 extern void rt_sched_unlock();
 
-#define SIR_DECLARE_FLAGS   tANI_U32 flags
+#define SIR_DECLARE_FLAGS   (tANI_U32 flags)
 #define SIR_SCHED_LOCK()    rt_sched_lock()
 #define SIR_SCHED_UNLOCK()  rt_sched_unlock()
 
diff --git a/CORE/MAC/src/pe/include/limApi.h b/CORE/MAC/src/pe/include/limApi.h
index bbd7357..687622c 100644
--- a/CORE/MAC/src/pe/include/limApi.h
+++ b/CORE/MAC/src/pe/include/limApi.h
@@ -217,11 +217,11 @@
 extern void limGetBssid(tpAniSirGlobal pMac, tANI_U8 *bssId);
 extern void limGetMyMacAddr(tpAniSirGlobal pMac, tANI_U8 *mac);
 extern tSirRetStatus limCheckRxSeqNumber(tpAniSirGlobal pMac, tANI_U8 *pRxPacketInfo);
-#define limGetQosMode(psessionEntry, pVal) *(pVal) = (psessionEntry)->limQosEnabled
-#define limGetWmeMode(psessionEntry, pVal) *(pVal) = (psessionEntry)->limWmeEnabled
-#define limGetWsmMode(psessionEntry, pVal) *(pVal) = (psessionEntry)->limWsmEnabled
-#define limGet11dMode(psessionEntry, pVal) *(pVal) = (psessionEntry)->lim11dEnabled
-#define limGetAckPolicy(pMac, pVal)         *(pVal) = pMac->lim.ackPolicy
+#define limGetQosMode(psessionEntry, pVal) (*(pVal) = (psessionEntry)->limQosEnabled)
+#define limGetWmeMode(psessionEntry, pVal) (*(pVal) = (psessionEntry)->limWmeEnabled)
+#define limGetWsmMode(psessionEntry, pVal) (*(pVal) = (psessionEntry)->limWsmEnabled)
+#define limGet11dMode(psessionEntry, pVal) (*(pVal) = (psessionEntry)->lim11dEnabled)
+#define limGetAckPolicy(pMac, pVal)         (*(pVal) = pMac->lim.ackPolicy)
 /* ----------------------------------------------------------------------- */
 static inline void limGetPhyMode(tpAniSirGlobal pMac, tANI_U32 *phyMode, tpPESession psessionEntry)
 {
diff --git a/CORE/MAC/src/pe/lim/limSecurityUtils.h b/CORE/MAC/src/pe/lim/limSecurityUtils.h
index d7a4238..9cff061 100644
--- a/CORE/MAC/src/pe/lim/limSecurityUtils.h
+++ b/CORE/MAC/src/pe/lim/limSecurityUtils.h
@@ -34,9 +34,9 @@
 #define __LIM_SECURITY_UTILS_H
 #include "sirMacProtDef.h" //for tSirMacAuthFrameBody
 
-#define LIM_ENCR_AUTH_BODY_LEN  sizeof(tSirMacAuthFrameBody) + \
+#define LIM_ENCR_AUTH_BODY_LEN  (sizeof(tSirMacAuthFrameBody) + \
                                 SIR_MAC_WEP_IV_LENGTH + \
-                                SIR_MAC_WEP_ICV_LENGTH
+                                SIR_MAC_WEP_ICV_LENGTH)
 struct tLimPreAuthNode;
 
 #ifdef WLAN_SOFTAP_FEATURE
diff --git a/CORE/MAC/src/pe/lim/limTypes.h b/CORE/MAC/src/pe/lim/limTypes.h
index 4244e37..64d86f6 100644
--- a/CORE/MAC/src/pe/lim/limTypes.h
+++ b/CORE/MAC/src/pe/lim/limTypes.h
@@ -63,46 +63,46 @@
 // MLM message types
 #define LIM_MLM_MSG_START           1000
 #define LIM_MLM_SCAN_REQ            LIM_MLM_MSG_START
-#define LIM_MLM_SCAN_CNF            LIM_MLM_MSG_START + 1
-#define LIM_MLM_START_REQ           LIM_MLM_MSG_START + 2
-#define LIM_MLM_START_CNF           LIM_MLM_MSG_START + 3
-#define LIM_MLM_JOIN_REQ            LIM_MLM_MSG_START + 4
-#define LIM_MLM_JOIN_CNF            LIM_MLM_MSG_START + 5
-#define LIM_MLM_AUTH_REQ            LIM_MLM_MSG_START + 6
-#define LIM_MLM_AUTH_CNF            LIM_MLM_MSG_START + 7
-#define LIM_MLM_AUTH_IND            LIM_MLM_MSG_START + 8
-#define LIM_MLM_ASSOC_REQ           LIM_MLM_MSG_START + 9
-#define LIM_MLM_ASSOC_CNF           LIM_MLM_MSG_START + 10
-#define LIM_MLM_ASSOC_IND           LIM_MLM_MSG_START + 11
-#define LIM_MLM_DISASSOC_REQ        LIM_MLM_MSG_START + 12
-#define LIM_MLM_DISASSOC_CNF        LIM_MLM_MSG_START + 13
-#define LIM_MLM_DISASSOC_IND        LIM_MLM_MSG_START + 14
-#define LIM_MLM_REASSOC_REQ         LIM_MLM_MSG_START + 15
-#define LIM_MLM_REASSOC_CNF         LIM_MLM_MSG_START + 16
-#define LIM_MLM_REASSOC_IND         LIM_MLM_MSG_START + 17
-#define LIM_MLM_DEAUTH_REQ          LIM_MLM_MSG_START + 18
-#define LIM_MLM_DEAUTH_CNF          LIM_MLM_MSG_START + 19
-#define LIM_MLM_DEAUTH_IND          LIM_MLM_MSG_START + 20
-#define LIM_MLM_TSPEC_REQ           LIM_MLM_MSG_START + 21
-#define LIM_MLM_TSPEC_CNF           LIM_MLM_MSG_START + 22
-#define LIM_MLM_TSPEC_IND           LIM_MLM_MSG_START + 23
-#define LIM_MLM_SETKEYS_REQ         LIM_MLM_MSG_START + 24
-#define LIM_MLM_SETKEYS_CNF         LIM_MLM_MSG_START + 25
-#define LIM_MLM_LINK_TEST_STOP_REQ  LIM_MLM_MSG_START + 30
-#define LIM_MLM_PURGE_STA_IND       LIM_MLM_MSG_START + 31
-#define LIM_MLM_ADDBA_REQ           LIM_MLM_MSG_START + 32
-#define LIM_MLM_ADDBA_CNF           LIM_MLM_MSG_START + 33
-#define LIM_MLM_ADDBA_IND           LIM_MLM_MSG_START + 34
-#define LIM_MLM_ADDBA_RSP           LIM_MLM_MSG_START + 35
-#define LIM_MLM_DELBA_REQ           LIM_MLM_MSG_START + 36
-#define LIM_MLM_DELBA_CNF           LIM_MLM_MSG_START + 37
-#define LIM_MLM_DELBA_IND           LIM_MLM_MSG_START + 38
-#define LIM_MLM_REMOVEKEY_REQ  LIM_MLM_MSG_START + 39
-#define LIM_MLM_REMOVEKEY_CNF  LIM_MLM_MSG_START + 40
+#define LIM_MLM_SCAN_CNF            (LIM_MLM_MSG_START + 1)
+#define LIM_MLM_START_REQ           (LIM_MLM_MSG_START + 2)
+#define LIM_MLM_START_CNF           (LIM_MLM_MSG_START + 3)
+#define LIM_MLM_JOIN_REQ            (LIM_MLM_MSG_START + 4)
+#define LIM_MLM_JOIN_CNF            (LIM_MLM_MSG_START + 5)
+#define LIM_MLM_AUTH_REQ            (LIM_MLM_MSG_START + 6)
+#define LIM_MLM_AUTH_CNF            (LIM_MLM_MSG_START + 7)
+#define LIM_MLM_AUTH_IND            (LIM_MLM_MSG_START + 8)
+#define LIM_MLM_ASSOC_REQ           (LIM_MLM_MSG_START + 9)
+#define LIM_MLM_ASSOC_CNF           (LIM_MLM_MSG_START + 10)
+#define LIM_MLM_ASSOC_IND           (LIM_MLM_MSG_START + 11)
+#define LIM_MLM_DISASSOC_REQ        (LIM_MLM_MSG_START + 12)
+#define LIM_MLM_DISASSOC_CNF        (LIM_MLM_MSG_START + 13)
+#define LIM_MLM_DISASSOC_IND        (LIM_MLM_MSG_START + 14)
+#define LIM_MLM_REASSOC_REQ         (LIM_MLM_MSG_START + 15)
+#define LIM_MLM_REASSOC_CNF         (LIM_MLM_MSG_START + 16)
+#define LIM_MLM_REASSOC_IND         (LIM_MLM_MSG_START + 17)
+#define LIM_MLM_DEAUTH_REQ          (LIM_MLM_MSG_START + 18)
+#define LIM_MLM_DEAUTH_CNF          (LIM_MLM_MSG_START + 19)
+#define LIM_MLM_DEAUTH_IND          (LIM_MLM_MSG_START + 20)
+#define LIM_MLM_TSPEC_REQ           (LIM_MLM_MSG_START + 21)
+#define LIM_MLM_TSPEC_CNF           (LIM_MLM_MSG_START + 22)
+#define LIM_MLM_TSPEC_IND           (LIM_MLM_MSG_START + 23)
+#define LIM_MLM_SETKEYS_REQ         (LIM_MLM_MSG_START + 24)
+#define LIM_MLM_SETKEYS_CNF         (LIM_MLM_MSG_START + 25)
+#define LIM_MLM_LINK_TEST_STOP_REQ  (LIM_MLM_MSG_START + 30)
+#define LIM_MLM_PURGE_STA_IND       (LIM_MLM_MSG_START + 31)
+#define LIM_MLM_ADDBA_REQ           (LIM_MLM_MSG_START + 32)
+#define LIM_MLM_ADDBA_CNF           (LIM_MLM_MSG_START + 33)
+#define LIM_MLM_ADDBA_IND           (LIM_MLM_MSG_START + 34)
+#define LIM_MLM_ADDBA_RSP           (LIM_MLM_MSG_START + 35)
+#define LIM_MLM_DELBA_REQ           (LIM_MLM_MSG_START + 36)
+#define LIM_MLM_DELBA_CNF           (LIM_MLM_MSG_START + 37)
+#define LIM_MLM_DELBA_IND           (LIM_MLM_MSG_START + 38)
+#define LIM_MLM_REMOVEKEY_REQ  (LIM_MLM_MSG_START + 39)
+#define LIM_MLM_REMOVEKEY_CNF  (LIM_MLM_MSG_START + 40)
 
 #ifdef FEATURE_OEM_DATA_SUPPORT
-#define LIM_MLM_OEM_DATA_REQ            LIM_MLM_MSG_START + 41
-#define LIM_MLM_OEM_DATA_CNF            LIM_MLM_MSG_START + 42
+#define LIM_MLM_OEM_DATA_REQ            (LIM_MLM_MSG_START + 41)
+#define LIM_MLM_OEM_DATA_CNF            (LIM_MLM_MSG_START + 42)
 #endif
 
 #define LIM_HASH_ADD            0
diff --git a/CORE/SME/src/csr/csrApiScan.c b/CORE/SME/src/csr/csrApiScan.c
index 9c1f7d2..558e9e7 100644
--- a/CORE/SME/src/csr/csrApiScan.c
+++ b/CORE/SME/src/csr/csrApiScan.c
@@ -86,9 +86,9 @@
 #define CSR_SCAN_HANDOFF_DELTA 10
 #define MAX_ACTIVE_SCAN_FOR_ONE_CHANNEL 140
 #define MIN_ACTIVE_SCAN_FOR_ONE_CHANNEL 120
-#define CSR_SCAN_OVERALL_SCORE( rssi ) \
-  ( rssi < CSR_SCAN_MAX_SCORE_VAL )\
-   ? (CSR_SCAN_MAX_SCORE_VAL-rssi) : CSR_SCAN_MIN_SCORE_VAL
+#define CSR_SCAN_OVERALL_SCORE( rssi )                          \
+    (( rssi < CSR_SCAN_MAX_SCORE_VAL )                          \
+     ? (CSR_SCAN_MAX_SCORE_VAL-rssi) : CSR_SCAN_MIN_SCORE_VAL)
                                                                      
 
 #define CSR_SCAN_IS_OVER_BSS_LIMIT(pMac)  \
diff --git a/CORE/SYS/legacy/src/platform/src/VossWrapper.c b/CORE/SYS/legacy/src/platform/src/VossWrapper.c
index 7ff7f62..bc5408f 100644
--- a/CORE/SYS/legacy/src/platform/src/VossWrapper.c
+++ b/CORE/SYS/legacy/src/platform/src/VossWrapper.c
@@ -67,7 +67,7 @@
 #include "VossWrapper.h"
 
 #ifdef WLAN_DEBUG
-#define TIMER_NAME timer_ptr->timerName 
+#define TIMER_NAME (timer_ptr->timerName)
 #else
 #define TIMER_NAME "N/A"
 #endif
diff --git a/CORE/TL/src/wlan_qct_tl.c b/CORE/TL/src/wlan_qct_tl.c
index 3a1bcfc..56d07fd 100644
--- a/CORE/TL/src/wlan_qct_tl.c
+++ b/CORE/TL/src/wlan_qct_tl.c
@@ -185,7 +185,7 @@
                      ( WLANTL_CTRL_FRAME_TYPE == ( (_type_sub) & 0x30 ))
 
 /*MAX Allowed len processed by TL - MAx MTU + 802.3 header + BD+DXE+XTL*/
-#define WLANTL_MAX_ALLOWED_LEN    1514 + 100
+#define WLANTL_MAX_ALLOWED_LEN    (1514 + 100)
 
 #define WLANTL_MASK_AC  0x03
 
diff --git a/CORE/TL/src/wlan_qct_tli.h b/CORE/TL/src/wlan_qct_tli.h
index 3e953de..312a503 100644
--- a/CORE/TL/src/wlan_qct_tli.h
+++ b/CORE/TL/src/wlan_qct_tli.h
@@ -114,7 +114,7 @@
 #define WLANTL_LLC_OUI_SIZE                   3
 
 /*Offset of the protocol type field inside the LLC/SNAP header*/
-#define WLANTL_LLC_PROTO_TYPE_OFFSET  WLANTL_LLC_OUI_OFFSET +  WLANTL_LLC_OUI_SIZE
+#define WLANTL_LLC_PROTO_TYPE_OFFSET  (WLANTL_LLC_OUI_OFFSET +  WLANTL_LLC_OUI_SIZE)
 
 /*Size of the protocol type field inside the LLC/SNAP header*/
 #define WLANTL_LLC_PROTO_TYPE_SIZE            2
@@ -213,12 +213,12 @@
 
 /*get TL control block from vos global context */
 #define VOS_GET_TL_CB(_pvosGCtx) \
-        (WLANTL_CbType*)vos_get_context( VOS_MODULE_ID_TL, _pvosGCtx)
+  ((WLANTL_CbType*)vos_get_context( VOS_MODULE_ID_TL, _pvosGCtx))
 
 /* Check whether Rx frame is LS or EAPOL packet (other than data) */
 #define WLANTL_BAP_IS_NON_DATA_PKT_TYPE(usType) \
-        (WLANTL_BT_AMP_TYPE_AR == usType) || (WLANTL_BT_AMP_TYPE_SEC == usType) || \
-        (WLANTL_BT_AMP_TYPE_LS_REQ == usType) || (WLANTL_BT_AMP_TYPE_LS_REP == usType)
+  ((WLANTL_BT_AMP_TYPE_AR == usType) || (WLANTL_BT_AMP_TYPE_SEC == usType) || \
+   (WLANTL_BT_AMP_TYPE_LS_REQ == usType) || (WLANTL_BT_AMP_TYPE_LS_REP == usType))
 
 /*get RSSI0 from a RX BD*/
 /* 7 bits in phystats represent -100dBm to +27dBm */
@@ -230,8 +230,8 @@
 
 /* Check whether Rx frame is LS or EAPOL packet (other than data) */
 #define WLANTL_BAP_IS_NON_DATA_PKT_TYPE(usType) \
-        (WLANTL_BT_AMP_TYPE_AR == usType) || (WLANTL_BT_AMP_TYPE_SEC == usType) || \
-        (WLANTL_BT_AMP_TYPE_LS_REQ == usType) || (WLANTL_BT_AMP_TYPE_LS_REP == usType)
+  ((WLANTL_BT_AMP_TYPE_AR == usType) || (WLANTL_BT_AMP_TYPE_SEC == usType) || \
+   (WLANTL_BT_AMP_TYPE_LS_REQ == usType) || (WLANTL_BT_AMP_TYPE_LS_REP == usType))
 
 /*---------------------------------------------------------------------------
   TL signals for TX thread
diff --git a/CORE/VOSS/inc/i_vos_trace.h b/CORE/VOSS/inc/i_vos_trace.h
index d6c20f5..9affbbc 100644
--- a/CORE/VOSS/inc/i_vos_trace.h
+++ b/CORE/VOSS/inc/i_vos_trace.h
@@ -93,12 +93,13 @@
 #ifdef VOS_ENABLE_TRACING
 
 
-#define VOS_ASSERT( _condition )                          \
-if ( ! ( _condition ) )                                   \
-{                                                         \
-   printk(KERN_CRIT "VOS ASSERT in %s Line %d\n", __func__, __LINE__); \
-   WARN_ON(1); \
-}
+#define VOS_ASSERT( _condition ) do {                                   \
+        if ( ! ( _condition ) )                                         \
+        {                                                               \
+            printk(KERN_CRIT "VOS ASSERT in %s Line %d\n", __func__, __LINE__); \
+            WARN_ON(1);                                                 \
+        }                                                               \
+    } while(0)
 
 #else 
 
@@ -113,21 +114,23 @@
 
 #ifdef PANIC_ON_BUG
 
-#define VOS_BUG( _condition ) \
-if ( ! ( _condition ) )       \
-{                             \
-   printk(KERN_CRIT "VOS BUG in %s Line %d\n", __func__, __LINE__); \
-   BUG_ON(1); \
-}
+#define VOS_BUG( _condition ) do {                                      \
+        if ( ! ( _condition ) )                                         \
+        {                                                               \
+            printk(KERN_CRIT "VOS BUG in %s Line %d\n", __func__, __LINE__); \
+            BUG_ON(1);                                                  \
+        }                                                               \
+    } while(0)
 
 #else
 
-#define VOS_BUG( _condition ) \
-if ( ! ( _condition ) )       \
-{                             \
-   printk(KERN_CRIT "VOS BUG in %s Line %d\n", __func__, __LINE__); \
-   WARN_ON(1); \
-}
+#define VOS_BUG( _condition ) do {                                      \
+        if ( ! ( _condition ) )                                         \
+        {                                                               \
+            printk(KERN_CRIT "VOS BUG in %s Line %d\n", __func__, __LINE__); \
+            WARN_ON(1);                                                 \
+        }                                                               \
+    } while(0)
 
 #endif
 
diff --git a/CORE/VOSS/inc/vos_pack_align.h b/CORE/VOSS/inc/vos_pack_align.h
index b746358..1fcb4a9 100644
--- a/CORE/VOSS/inc/vos_pack_align.h
+++ b/CORE/VOSS/inc/vos_pack_align.h
@@ -91,8 +91,8 @@
 
 #elif defined _MSC_VER
 
-  #define VOS_PACK_START  __pragma (pack(push,1))
-  #define VOS_PACK_END  __pragma (pack(pop))
+#define VOS_PACK_START  __pragma(pack(push,1))
+#define VOS_PACK_END  __pragma(pack(pop))
 
   #define VOS_PACK_PRE 
   #define VOS_PACK_POST
diff --git a/CORE/VOSS/inc/vos_types.h b/CORE/VOSS/inc/vos_types.h
index 4bcfc24..0e84aba 100644
--- a/CORE/VOSS/inc/vos_types.h
+++ b/CORE/VOSS/inc/vos_types.h
@@ -54,7 +54,7 @@
 #define VOS_MIN( _x, _y ) ( ( (_x) < (_y) ) ? (_x) : (_y)  )  
 
 // macro to get the ceiling of an integer division operation...
-#define VOS_CEIL_DIV( _a, _b ) ( 0 != (_a) % (_b) ) ? ( (_a) / (_b) + 1 ) : ( (_a) / (_b) ) 
+#define VOS_CEIL_DIV( _a, _b ) (( 0 != (_a) % (_b) ) ? ( (_a) / (_b) + 1 ) : ( (_a) / (_b) ))
 
 // macro to return the floor of an integer division operation
 #define VOS_FLOOR_DIV( _a, _b ) ( ( (_a) - ( (_a) % (_b) ) ) / (_b) )
@@ -63,8 +63,8 @@
    ( ( ( (_x) << 8 ) & 0xFF00 ) | ( ( (_x) >> 8 ) & 0x00FF ) )
 
 #define VOS_SWAP_U32(_x) \
-   ( ( ( (_x) << 24 ) & 0xFF000000 ) | ( ( (_x) >> 24 ) & 0x000000FF ) ) | \
-   ( ( ( (_x) << 8 ) & 0x00FF0000 ) | ( ( (_x) >> 8 ) & 0x0000FF00 ) )
+  (( ( ( (_x) << 24 ) & 0xFF000000 ) | ( ( (_x) >> 24 ) & 0x000000FF ) ) | \
+   ( ( ( (_x) << 8 ) & 0x00FF0000 ) | ( ( (_x) >> 8 ) & 0x0000FF00 ) ))
 
 // Endian operations for Big Endian and Small Endian modes
 #ifdef ANI_LITTLE_BYTE_ENDIAN
diff --git a/CORE/WDA/inc/legacy/halTypes.h b/CORE/WDA/inc/legacy/halTypes.h
index 1e13272..b0f10f4 100644
--- a/CORE/WDA/inc/legacy/halTypes.h
+++ b/CORE/WDA/inc/legacy/halTypes.h
@@ -367,7 +367,7 @@
  *   10 Soft AP Stations (4 hard/6 virtual)
  */
 
-#define HAL_INVALID_BSSIDX          HAL_NUM_BSSID+1
+#define HAL_INVALID_BSSIDX          (HAL_NUM_BSSID + 1)
 #define HAL_NUM_UMA_DESC_ENTRIES    8
 #define MAX_NUM_OF_BACKOFFS         8
 
@@ -379,10 +379,10 @@
 #define HAL_NUM_STA                 14
 #define HAL_NUM_HW_STA              8
 #define HAL_NUM_GPSTA               2
-#define HAL_NUM_VSTA                HAL_NUM_STA - HAL_NUM_HW_STA
+#define HAL_NUM_VSTA                (HAL_NUM_STA - HAL_NUM_HW_STA)
 
 #define QWLANFW_MAX_NUM_VSTA        HAL_NUM_VSTA
-#define QWLANFW_VSTA_INVALID_IDX    HAL_NUM_STA+1
+#define QWLANFW_VSTA_INVALID_IDX    (HAL_NUM_STA + 1)
 #define QWLAN_VSTA_MIN_IDX          HAL_NUM_HW_STA
 #define QWLANFW_NUM_GPSTA           HAL_NUM_GPSTA
 
diff --git a/CORE/WDA/inc/legacy/wlan_qct_hal.h b/CORE/WDA/inc/legacy/wlan_qct_hal.h
index 56272c7..971a162 100644
--- a/CORE/WDA/inc/legacy/wlan_qct_hal.h
+++ b/CORE/WDA/inc/legacy/wlan_qct_hal.h
@@ -204,7 +204,7 @@
 #define WLANHAL_RX_BD_GET_DPU_SIG( _pvBDHeader )   (((tpHalRxBd)_pvBDHeader)->dpuSignature)
 
 #ifdef WLAN_SOFTAP_FEATURE
-#define WLANHAL_FC_RX_BD_REPORT_CONTENT_SIZE        2*HAL_NUM_STA*sizeof(tANI_U8)   // size of fcSTATxQLen[HAL_NUM_STA]+fcSTACurTxRate[HAL_NUM_STA]
+#define WLANHAL_FC_RX_BD_REPORT_CONTENT_SIZE        (2 * HAL_NUM_STA * sizeof(tANI_U8))   // size of fcSTATxQLen[HAL_NUM_STA]+fcSTACurTxRate[HAL_NUM_STA]
 #define WLANHAL_FC_TX_BD_HEADER_SIZE                sizeof(tHalFcTxBd)
 #define WLANHAL_RX_BD_GET_FC( _pvBDHeader )                      (((tpHalFcRxBd)_pvBDHeader)->fc)
 #define WLANHAL_RX_BD_GET_RX_TIME_STAMP( _pvBDHeader )           (((tpHalFcRxBd)_pvBDHeader)->mclkRxTimestamp)
diff --git a/CORE/WDA/inc/wlan_qct_wda.h b/CORE/WDA/inc/wlan_qct_wda.h
index ac9b8b3..811eb35 100644
--- a/CORE/WDA/inc/wlan_qct_wda.h
+++ b/CORE/WDA/inc/wlan_qct_wda.h
@@ -199,9 +199,9 @@
 
 /*DXE + SD*/
 #if defined( FEATURE_WLAN_INTEGRATED_SOC )
-#define WDA_WLAN_LIBRA_HEADER_LEN              20+8
+#define WDA_WLAN_LIBRA_HEADER_LEN              (20 + 8)
 #else /* FEATURE_WLAN_INTEGRATED_SOC */
-#define WLAN_LIBRA_HEADER_LEN              20+8
+#define WLAN_LIBRA_HEADER_LEN              (20 + 8)
 #endif /* FEATURE_WLAN_INTEGRATED_SOC */
 
 #if defined( FEATURE_WLAN_INTEGRATED_SOC )
@@ -217,8 +217,8 @@
 #  define WDA_TLI_MIN_RES_DATA 3
 #else
 #  define WDA_TLI_MIN_RES_MF   13 /*Keeping for MF*/
-#  define WDA_TLI_MIN_RES_BAP  WDA_TLI_MIN_RES_MF  + 13 /*Another for BAP*/
-#  define WDA_TLI_MIN_RES_DATA WDA_TLI_MIN_RES_BAP + 13 /*Min 12 for data*/
+#  define WDA_TLI_MIN_RES_BAP  (WDA_TLI_MIN_RES_MF  + 13) /*Another for BAP*/
+#  define WDA_TLI_MIN_RES_DATA (WDA_TLI_MIN_RES_BAP + 13) /*Min 12 for data*/
 #  define WLANTL_TH_RES_DATA                        254
 #endif
 
@@ -273,7 +273,7 @@
 /*Minimum resources needed - arbitrary*/
 
 /*DXE + SD*/
-#define WLAN_LIBRA_HEADER_LEN              20+8
+#define WLAN_LIBRA_HEADER_LEN              (20 + 8)
 
 #define WLANTL_MAX_MSDU                    1538
 
@@ -1218,7 +1218,7 @@
 #define WDA_SET_P2P_GO_NOA_REQ         SIR_HAL_SET_P2P_GO_NOA_REQ
 #endif
 
-#define WDA_TX_COMPLETE_TIMEOUT_IND  WDA_MSG_TYPES_END - 1
+#define WDA_TX_COMPLETE_TIMEOUT_IND  (WDA_MSG_TYPES_END - 1)
 #define WDA_WLAN_SUSPEND_IND           SIR_HAL_WLAN_SUSPEND_IND
 #define WDA_WLAN_RESUME_REQ           SIR_HAL_WLAN_RESUME_REQ
 #define WDA_MSG_TYPES_END    SIR_HAL_MSG_TYPES_END
@@ -1360,7 +1360,7 @@
 
 #if defined( FEATURE_WLAN_INTEGRATED_SOC )
 #define WDA_UpdateRssiBmps(pvosGCtx,  staId, rssi) \
-        WLANTL_UpdateRssiBmps (pvosGCtx, staId, rssi)
+        WLANTL_UpdateRssiBmps(pvosGCtx, staId, rssi)
 #endif
 
 #ifdef WLAN_PERF 
diff --git a/CORE/WDA/src/wlan_qct_wda_ds.c b/CORE/WDA/src/wlan_qct_wda_ds.c
index 034ed2d..070e0e8 100644
--- a/CORE/WDA/src/wlan_qct_wda_ds.c
+++ b/CORE/WDA/src/wlan_qct_wda_ds.c
@@ -65,7 +65,7 @@
 #include "wlan_bal_misc.h"
 #endif
 
-#define WDA_DS_DXE_RES_COUNT   WDA_TLI_MIN_RES_DATA + 20
+#define WDA_DS_DXE_RES_COUNT   (WDA_TLI_MIN_RES_DATA + 20)
 
 #define VOS_TO_WPAL_PKT(_vos_pkt) ((wpt_packet*)_vos_pkt)
 
diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi.h b/CORE/WDI/CP/inc/wlan_qct_wdi.h
index 3f6c2e0..d456d05 100644
--- a/CORE/WDI/CP/inc/wlan_qct_wdi.h
+++ b/CORE/WDI/CP/inc/wlan_qct_wdi.h
@@ -115,7 +115,7 @@
 #define FRAGMENT_SIZE 3072
 
 /* Macro to find the total number fragments of the NV Image*/
-#define TOTALFRAGMENTS(x) ((x%FRAGMENT_SIZE)== 0) ? (x/FRAGMENT_SIZE):((x/FRAGMENT_SIZE)+1)
+#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
 
 /* Beacon Filter Length*/
 #define WDI_BEACON_FILTER_LEN 70
diff --git a/CORE/WDI/WPAL/inc/wlan_qct_os_list.h b/CORE/WDI/WPAL/inc/wlan_qct_os_list.h
index 1f58546..5b4cc30 100644
--- a/CORE/WDI/WPAL/inc/wlan_qct_os_list.h
+++ b/CORE/WDI/WPAL/inc/wlan_qct_os_list.h
@@ -201,7 +201,7 @@
   --------------------------------------------------------------------------*/
 //wpt_status wpal_list_remove_front( wpt_list *pList, wpt_list_node **ppNode );
 #define wpal_list_remove_front(pList, ppNode) \
-    (wpt_status)vos_list_remove_front( (vos_list_t *)(pList), (vos_list_node_t **)(ppNode) )
+  ((wpt_status)vos_list_remove_front( (vos_list_t *)(pList), (vos_list_node_t **)(ppNode) ))
 
 
 /**---------------------------------------------------------------------------
@@ -415,8 +415,8 @@
 //                                   wpt_list_node *pNodeToInsert, 
 //                                   wpt_list_node *pNode );         
 #define wpal_list_insert_after(pList, pNodeToInsert, pNode) \
-    WPAL_LIST_STATUS_BASIC_CHECK( vos_list_insert_after((vos_list_t *)(pList), \
-         (vos_list_node_t *)(pNodeToInsert), (vos_list_node_t *)(pNode) )
+    (WPAL_LIST_STATUS_BASIC_CHECK( vos_list_insert_after((vos_list_t *)(pList), \
+                                                         (vos_list_node_t *)(pNodeToInsert), (vos_list_node_t *)(pNode) ))
 
 
 /**---------------------------------------------------------------------------
diff --git a/CORE/WDI/WPAL/inc/wlan_qct_os_trace.h b/CORE/WDI/WPAL/inc/wlan_qct_os_trace.h
index dbad7fd..9946b1c 100644
--- a/CORE/WDI/WPAL/inc/wlan_qct_os_trace.h
+++ b/CORE/WDI/WPAL/inc/wlan_qct_os_trace.h
@@ -79,13 +79,13 @@
 #define WPAL_TRACE wpalTrace
 #define WPAL_DUMP wpalDump
 
-#define WPAL_ASSERT( _condition )                          \
-if ( ! ( _condition ) )                                   \
-{                                                         \
-   printk(KERN_CRIT "VOS ASSERT in %s Line %d\n", __func__, __LINE__); \
-   WARN_ON(1); \
-}
-
+#define WPAL_ASSERT( _condition )   do {                                \
+        if ( ! ( _condition ) )                                         \
+        {                                                               \
+            printk(KERN_CRIT "VOS ASSERT in %s Line %d\n", __func__, __LINE__); \
+            WARN_ON(1);                                                 \
+        }                                                               \
+    } while (0)
 #else //WLAN_DEBUG
 
 #define WPAL_TRACE
diff --git a/CORE/WDI/WPAL/inc/wlan_qct_pack_align.h b/CORE/WDI/WPAL/inc/wlan_qct_pack_align.h
index fb15b2a..578a67b 100644
--- a/CORE/WDI/WPAL/inc/wlan_qct_pack_align.h
+++ b/CORE/WDI/WPAL/inc/wlan_qct_pack_align.h
@@ -91,8 +91,8 @@
 
 #elif defined _MSC_VER
 
-   #define WPT_PACK_START  __pragma (pack(push,1))
-   #define WPT_PACK_END  __pragma (pack(pop))
+#define WPT_PACK_START  __pragma(pack(push,1))
+#define WPT_PACK_END  __pragma(pack(pop))
 
    #define WPT_PACK_PRE 
    #define WPT_PACK_POST
diff --git a/CORE/WDI/WPAL/inc/wlan_qct_pal_api.h b/CORE/WDI/WPAL/inc/wlan_qct_pal_api.h
index 3f84bd3..0bd674a 100644
--- a/CORE/WDI/WPAL/inc/wlan_qct_pal_api.h
+++ b/CORE/WDI/WPAL/inc/wlan_qct_pal_api.h
@@ -52,7 +52,7 @@
 #define WPAL_MIN( _x, _y ) ( ( (_x) < (_y) ) ? (_x) : (_y)  )  
 
 // macro to get the ceiling of an integer division operation...
-#define WPAL_CEIL_DIV( _a, _b ) ( 0 != (_a) % (_b) ) ? ( (_a) / (_b) + 1 ) : ( (_a) / (_b) ) 
+#define WPAL_CEIL_DIV( _a, _b ) (( 0 != (_a) % (_b) ) ? ( (_a) / (_b) + 1 ) : ( (_a) / (_b) ))
 
 // macro to return the floor of an integer division operation
 #define WPAL_FLOOR_DIV( _a, _b ) ( ( (_a) - ( (_a) % (_b) ) ) / (_b) )
@@ -61,8 +61,8 @@
    ( ( ( (_x) << 8 ) & 0xFF00 ) | ( ( (_x) >> 8 ) & 0x00FF ) )
 
 #define WPAL_SWAP_U32(_x) \
-   ( ( ( (_x) << 24 ) & 0xFF000000 ) | ( ( (_x) >> 24 ) & 0x000000FF ) ) | \
-   ( ( ( (_x) << 8 ) & 0x00FF0000 ) | ( ( (_x) >> 8 ) & 0x0000FF00 ) )
+  (( ( ( (_x) << 24 ) & 0xFF000000 ) | ( ( (_x) >> 24 ) & 0x000000FF ) ) | \
+   ( ( ( (_x) << 8 ) & 0x00FF0000 ) | ( ( (_x) >> 8 ) & 0x0000FF00 ) ))
 
 // Endian operations for Big Endian and Small Endian modes
 #ifndef ANI_BIG_BYTE_ENDIAN
diff --git a/CORE/WDI/WPAL/inc/wlan_qct_pal_packet.h b/CORE/WDI/WPAL/inc/wlan_qct_pal_packet.h
index 9f80b55..f21257d 100644
--- a/CORE/WDI/WPAL/inc/wlan_qct_pal_packet.h
+++ b/CORE/WDI/WPAL/inc/wlan_qct_pal_packet.h
@@ -67,7 +67,7 @@
 //The size of AMSDU frame per spec can be a max of 3839 bytes 
 // in BD/PDUs that means 30 (one BD = 128 bytes) 
 // we must add the size of the 802.11 header to that 
-#define VPKT_SIZE_BUFFER  (30 * 128) + 32
+#define VPKT_SIZE_BUFFER  ((30 * 128) + 32)
 
 typedef enum
 {
