Snap for 4706961 from 55147a48e9aeb61e885897b80234921b763b2694 to pi-release

Change-Id: Icbac84c7feebf657dba20ad3f73369012e344360
diff --git a/qcwcn/wifi_hal/wifi_hal.cpp b/qcwcn/wifi_hal/wifi_hal.cpp
index 4ec60e7..f46a22c 100644
--- a/qcwcn/wifi_hal/wifi_hal.cpp
+++ b/qcwcn/wifi_hal/wifi_hal.cpp
@@ -626,7 +626,7 @@
     ret =  wifi_get_logger_supported_feature_set(iface_handle,
                          &info->supported_logger_feature_set);
     if (ret != WIFI_SUCCESS)
-        ALOGE("Failed to get supported logger featur set: %d", ret);
+        ALOGE("Failed to get supported logger feature set: %d", ret);
 
     ret = get_firmware_bus_max_size_supported(iface_handle);
     if (ret != WIFI_SUCCESS) {
@@ -635,10 +635,8 @@
     }
 
     ret = wifi_logger_ring_buffers_init(info);
-    if (ret != WIFI_SUCCESS) {
+    if (ret != WIFI_SUCCESS)
         ALOGE("Wifi Logger Ring Initialization Failed");
-        goto unload;
-    }
 
     ret = wifi_get_capabilities(iface_handle);
     if (ret != WIFI_SUCCESS)
@@ -710,6 +708,7 @@
             }
             if (info->pkt_stats) free(info->pkt_stats);
             if (info->rx_aggr_pkts) free(info->rx_aggr_pkts);
+            wifi_logger_ring_buffers_deinit(info);
             cleanupGscanHandlers(info);
             cleanupRSSIMonitorHandler(info);
             free(info->event_cb);
diff --git a/qcwcn/wifi_hal/wifilogger.cpp b/qcwcn/wifi_hal/wifilogger.cpp
index 799b23e..11a6b6e 100644
--- a/qcwcn/wifi_hal/wifilogger.cpp
+++ b/qcwcn/wifi_hal/wifilogger.cpp
@@ -906,6 +906,9 @@
 {
     int i;
 
+    if (!(info->supported_logger_feature_set & LOGGER_RING_BUFFER))
+        return;
+
     for (i = 0; i < NUM_RING_BUFS; i++) {
         rb_deinit(&info->rb_infos[i]);
     }