wlan: Avoid unsafe channel FW common

If FW sends unsafe channel detect indication,
Softap mode and P2PGO mode, should avoid to stay unsafe channels.
Make indication path from FW.
Store into module context.
Store into static module storage incase of re-load driver.
Channel selection should avoid unsafe channel

Change-Id: I318b9adef8780d1e104179800f2b67a34e0dddf8
CRs-fixed: 576020
diff --git a/riva/inc/wlan_hal_msg.h b/riva/inc/wlan_hal_msg.h
index 72f387c..43f130b 100644
--- a/riva/inc/wlan_hal_msg.h
+++ b/riva/inc/wlan_hal_msg.h
@@ -427,6 +427,14 @@
 
    WLAN_HAL_RATE_UPDATE_IND                 = 229,
 
+   /* Tx Fail for weak link notification */
+   WLAN_HAL_TX_FAIL_MONITOR_IND             = 230,
+   WLAN_HAL_TX_FAIL_IND                     = 231,
+
+   /* Multi-hop IP routing offload */
+   WLAN_HAL_IP_FORWARD_TABLE_UPDATE_IND     = 232,
+
+   WLAN_HAL_AVOID_FREQ_RANGE_IND            = 233,
   WLAN_HAL_MSG_MAX = WLAN_HAL_MSG_TYPE_MAX_ENUM_SIZE
 }tHalHostMsgType;
 
@@ -6900,6 +6908,30 @@
 }  tHalRateUpdateInd, * tpHalRateUpdateInd;
 
 /*---------------------------------------------------------------------------
+ * WLAN_HAL_AVOID_FREQ_RANGE_IND
+ *-------------------------------------------------------------------------*/
+
+#define WLAN_HAL_MAX_AVOID_FREQ_RANGE           4
+
+typedef PACKED_PRE struct PACKED_POST
+{
+   tANI_U32     startFreq;
+   tANI_U32     endFreq;
+}  tHalFreqRange, *tpHalFreqRange;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+   tANI_U32         avoidCnt;
+   tHalFreqRange    avoidRange[WLAN_HAL_MAX_AVOID_FREQ_RANGE];
+}  tHalAvoidFreqRangeIndParams, *tpHalAvoidFreqRangeIndParams;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+   tHalMsgHeader header;
+   tHalAvoidFreqRangeIndParams freqRangeIndParams;
+}  tHalAvoidFreqRangeInd, *tpHalAvoidFreqRangeInd;
+
+/*---------------------------------------------------------------------------
  *-------------------------------------------------------------------------*/
 
 #if defined(__ANI_COMPILER_PRAGMA_PACK_STACK)