wlan: Disable WLAN driver initiated SSR if Riva crashes during unload

 When there is a Riva crash, SSR is invoked by WCNSS Kernel driver.
 WLAN driver may also try to invoke SSR, since a Riva crash might end up
 in a WDI timeout during unload. So if there is a Riva crash, disable
 the SSR from WLAN driver in the unload path.

 Fixed CRs: 408941

Change-Id: Ia5d72a524d09cdf98a42fb4e2fca110dd0404a39
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index 2385238..c7d9f28 100644
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -156,7 +156,7 @@
 static struct wake_lock wlan_wake_lock;
 #endif
 /* set when SSR is needed after unload */
-static v_U8_t      isSsrRequired;
+static e_hdd_ssr_required isSsrRequired = HDD_SSR_NOT_REQUIRED;
 
 //internal function declaration
 static VOS_STATUS wlan_hdd_framework_restart(hdd_context_t *pHddCtx);
@@ -2181,13 +2181,17 @@
    return VOS_STATUS_SUCCESS;
 }
 
-v_U8_t hdd_is_ssr_required( void)
+bool hdd_is_ssr_required( void)
 {
-    return isSsrRequired;
+    return (isSsrRequired == HDD_SSR_REQUIRED);
 }
 
-void hdd_set_ssr_required( v_U8_t value)
+/* Once SSR is disabled then it cannot be set. */
+void hdd_set_ssr_required( e_hdd_ssr_required value)
 {
+    if (HDD_SSR_DISABLED == isSsrRequired)
+        return;
+
     isSsrRequired = value;
 }