wlan: Klockwork fixes for HDD module of prima driver
Change-Id: I78e51fe8bba7ff78aa647ff0d2f1741170050630
CR-Fixed: NA
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index 43a34a6..0e13df2 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -3420,20 +3420,19 @@
hddPrintMacAddr(tCsrBssid macAddr, tANI_U8 logLevel)
{
VOS_TRACE(VOS_MODULE_ID_HDD, logLevel,
- "%X:%X:%X:%X:%X:%X\n",
- macAddr[0], macAddr[1], macAddr[2], macAddr[3], macAddr[4],
- macAddr[5]);
+ "%02X:%02X:%02X:%02X:%02X:%02X\n",
+ macAddr[0], macAddr[1], macAddr[2], macAddr[3], macAddr[4],
+ macAddr[5]);
} /****** end hddPrintMacAddr() ******/
void
-hddPrintPmkId(tCsrBssid pmkId, tANI_U8 logLevel)
+hddPrintPmkId(tANI_U8 *pmkId, tANI_U8 logLevel)
{
VOS_TRACE(VOS_MODULE_ID_HDD, logLevel,
- "%X:%X:%X:%X:%X:%X:%X:%X:%X:%X:%X:%X:%X:%X:%X:%X\n",
- pmkId[0], pmkId[1], pmkId[2], pmkId[3], pmkId[4],
- pmkId[5], pmkId[6], pmkId[7], pmkId[8], pmkId[9],
- pmkId[10], pmkId[11], pmkId[12], pmkId[13], pmkId[14],
- pmkId[15]);
+ "%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X\n",
+ pmkId[0], pmkId[1], pmkId[2], pmkId[3], pmkId[4],
+ pmkId[5], pmkId[6], pmkId[7], pmkId[8], pmkId[9], pmkId[10],
+ pmkId[11], pmkId[12], pmkId[13], pmkId[14], pmkId[15]);
} /****** end hddPrintPmkId() ******/
//hddPrintMacAddr(tCsrBssid macAddr, tANI_U8 logLevel);
@@ -3720,7 +3719,7 @@
request->n_ssids = 0;
}
- if (0 < request->n_ssids)
+ if ((request->ssids) && (0 < request->n_ssids))
{
tCsrSSIDInfo *SsidInfo;
int j;
@@ -5334,6 +5333,7 @@
tANI_U8 maxMCSIdx = 0;
tANI_U8 rateFlag = 1;
tANI_U8 i, j, rssidx;
+ tANI_U16 temp;
ENTER();
@@ -5460,7 +5460,8 @@
for (i = 0; i < MCSLeng; i++)
{
- for (j = 0; j < (sizeof(supported_mcs_rate) / sizeof(supported_mcs_rate[0])); j++)
+ temp = sizeof(supported_mcs_rate) / sizeof(supported_mcs_rate[0]);
+ for (j = 0; j < temp; j++)
{
if (supported_mcs_rate[j].beacon_rate_index == MCSRates[i])
{
@@ -5468,7 +5469,7 @@
break;
}
}
- if (currentRate > maxRate)
+ if ((j < temp) && (currentRate > maxRate))
{
maxRate = currentRate;
maxSpeedMCS = 1;
diff --git a/CORE/HDD/src/wlan_hdd_dev_pwr.c b/CORE/HDD/src/wlan_hdd_dev_pwr.c
index ab1b423..a22412d 100644
--- a/CORE/HDD/src/wlan_hdd_dev_pwr.c
+++ b/CORE/HDD/src/wlan_hdd_dev_pwr.c
@@ -406,6 +406,15 @@
}
staAdapater = hdd_get_adapter(pHddCtx, WLAN_HDD_INFRA_STATION);
+
+ if(NULL == staAdapater)
+ {
+ VOS_TRACE(VOS_MODULE_ID_HDD,VOS_TRACE_LEVEL_ERROR,
+ "%s: NULL Adapter", __func__);
+ VOS_ASSERT(0);
+ return;
+ }
+
if(mutex_lock_interruptible(&pHddCtx->tmInfo.tmOperationLock))
{
VOS_TRACE(VOS_MODULE_ID_HDD,VOS_TRACE_LEVEL_ERROR,
@@ -415,7 +424,9 @@
pHddCtx->tmInfo.txFrameCount = 0;
/* Resume TX flow */
+
netif_tx_start_all_queues(staAdapater->dev);
+
mutex_unlock(&pHddCtx->tmInfo.tmOperationLock);
return;
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index c7d9f28..296f750 100644
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -1681,6 +1681,11 @@
#endif
/* This workqueue will be used to transmit management packet over
* monitor interface. */
+ if (NULL == pAdapter->sessionCtx.monitor.pAdapterForTx) {
+ hddLog(VOS_TRACE_LEVEL_ERROR,"%s:Failed:hdd_get_adapter",__func__);
+ return NULL;
+ }
+
INIT_WORK(&pAdapter->sessionCtx.monitor.pAdapterForTx->monTxWorkQueue,
hdd_mon_tx_work_queue);
#endif
diff --git a/CORE/HDD/src/wlan_hdd_p2p.c b/CORE/HDD/src/wlan_hdd_p2p.c
index c16d17e..51ae0ce 100644
--- a/CORE/HDD/src/wlan_hdd_p2p.c
+++ b/CORE/HDD/src/wlan_hdd_p2p.c
@@ -1143,6 +1143,12 @@
return;
}
+ if (NULL == pbFrames) {
+ hddLog( LOGE, FL("pbFrames is NULL"));
+ return;
+ }
+
+
if( ( WLAN_HDD_SOFTAP == pAdapter->device_mode )
|| ( WLAN_HDD_P2P_GO == pAdapter->device_mode )
)