wlan: Scenario based BUG report

Change to initiate BUG report in case of fatal event.
Added INI support to Enable/Disable it.

The fatal event handled are as below:
1) Command response from FW is failure. ADD/DEL BSS/STA etc.
2) Roaming failed after successfull preauth.
3) MC, TX, RX Thread is Stucked for 5 sec.
4) Data stall for 10 sec.
5) Sme command timeout.
6) PE defer queue is full.
7) Deny Apps suspend for 15 min.
8) Failed to allocate memory.
9) VOS run out of message wrapper.
10) Management tx timeout.
11) HDD level wait for event timeout.

CRs-Fixed: 912560
Change-Id: I46fb96e1d90f4ab6df2b9f343a0bfc75cb89a417
diff --git a/CORE/HDD/src/wlan_hdd_tx_rx.c b/CORE/HDD/src/wlan_hdd_tx_rx.c
index 77d1f8c..c680c54 100644
--- a/CORE/HDD/src/wlan_hdd_tx_rx.c
+++ b/CORE/HDD/src/wlan_hdd_tx_rx.c
@@ -90,6 +90,8 @@
 #define HDD_TX_STALL_SSR_THRESHOLD        5
 #define HDD_TX_STALL_SSR_THRESHOLD_HIGH   13
 #define HDD_TX_STALL_RECOVERY_THRESHOLD HDD_TX_STALL_SSR_THRESHOLD - 2
+#define HDD_TX_STALL_FATAL_EVENT_THRESHOLD 2
+
 
 int gRatefromIdx[] = {
  10,20,55,100,
@@ -1226,7 +1228,15 @@
       hdd_wmm_tx_snapshot(pAdapter);
       WLANTL_TLDebugMessage(WLANTL_DEBUG_TX_SNAPSHOT);
    }
-
+   /* Call fatal event if data stall is for
+    * HDD_TX_STALL_FATAL_EVENT_THRESHOLD times
+    */
+   if (HDD_TX_STALL_FATAL_EVENT_THRESHOLD ==
+       pAdapter->hdd_stats.hddTxRxStats.continuousTxTimeoutCount)
+      vos_fatal_event_logs_req(WLAN_LOG_TYPE_FATAL,
+                   WLAN_LOG_INDICATOR_HOST_DRIVER,
+                   WLAN_LOG_REASON_DATA_STALL,
+                   FALSE, TRUE);
 }
 
 /**============================================================================