Add ini param for sending CTS2S during BTC SCO

This Commit adds support for user configurable param to use
CTS2SELF during BTC SCO

Change-Id: I821d6b00e6c77d551fefcba2f9965f867b942f20
CRs-fixed: 591530
wlan: Invalid reload driver fix

If firmware could not power collapse whatever reason,
DXE interrupt could not be cleared if ISR is scheduled when IMPS mode.
Then next firmware power restore,
Empty interrupt will be issued when host power state change.
Incase, IMPS mode received empty interrupt,
and firmware could not power collapse,
host will detect this situation as successive empty interrupt.
Then issue SSR.
To prevent this invalid SSR, if interrupt happen with IMPS mode,
set dummy frame count to DXE channel control context.

Change-Id: I033d8a0cc4101aaa2d2954217dfa34cfd15e6562
CRs-fixed: 599833
API change for config param for sending CTS2S during BTC SCO

This commit brings the firmware API change, for config param
for sending CTS2S during BTC SCO, to HOST driver.

Change-Id: I01fb94f7353046a429fa9cf9707d08adaa4e07c0
CRs-fixed: 591530
wlan: MAC Address length fix

user may provide non-null terminated
MAC address string in xx:xx:xx:xx:xx:xx format.
So MAC address of length 17 is valid.

Change-Id: Ie0800ddf332006381114849ce42e1bfeab0e12a7
CRs-fixed: 600286
wlan: broken coding rule

In CR587500 sme_RoamDelPMKIDfromCache() is defined to return
eHalStatus,but sme_RoamDelPMKIDfromCache() is modified
to return -1 which is not a valid eHalStatus enumeration.
The correct fix would be to modify wlan_hdd_cfg80211_flush_pmksa()
such that when sme_RoamDelPMKIDfromCache()  returns an error,
it in turn returns a negative errno value to userspace.

Change-Id: I89d625fcd428bba153283089dd726066a87f6fe6
CRs-fixed: 600824
Wlan: Revision 3.2.3.220

Revision 3.2.3.220
wlan: Prevent memory allocation when holding spin lock.

During APss(CPU3) power-collapse, WLAN Host Driver enter/exits
from IMPS. After entering/exiting from IMPS
hdd_conf_mcastbcast_filter() allocates memory
for wlanRxpFilterParam without unlocking spin lock.

CRs-Fixed: 601498
Change-Id: Ife3b3fe11b866e585ed6bbe562e49d38308e2176
Wlan: Disable Tx queues from wlan_hdd_cfg80211_stop_ap

when hdd_hostapd_SAPEventCB is invoked for eSAP_STOP_BSS_EVENT after
10 seconds, wlan_hdd_cfg80211_stop_ap() which is waiting for this
event may already have returned and Adapter/Device
may have been deleted.

When hdd_hostapd_SAPEventCB() is finally invoked, it checks for
Adapter magic which is invalid in this case because of which the
driver will not process the eSAP_STOP_BSS_EVENT.

which results in hdd_hostapd_stop not being invoked,hence the queues
remain enabled and packets will be recieved from upper layers.

So Now we are calling hdd_hostapd_stop from
wlan_hdd_cfg80211_stop_ap to disable the tx queues.

Change-Id: I40709d20b448caf72f4d00e06de902851b93acb1
CRs-Fixed: 601704
wlan: VOS ASSERT during random connection test

On connect request driver update the HDD context roamprofile
even before it tries to disconnect the current connection and
proceeds with the connect request even when it did not receive
the disconnect event, which results in CSR and HDD connect
state mismatch during connection events handling.

On receiving connect request try disconnecting before updating
any state and roamprofile. If failed to disconnect on current
connection return failure without continuing with the connect
request.

Change-Id: I979b9803441efbee235226ba437db4ee7434591a
CRs-Fixed: 592565
wlan: RoamRssiDiff is applicable when nSelect5GHzMargin is enabled

When 5GHz preference feature is enabled by the configuration, then
RoamRssiDiff should not be ignored and should be taken into account
to avoid ping pong effect by roaming between the AP's

CRs-Fixed: 599719

Change-Id: I4aca2d5c6cdbc6988a6121bf22983113b1601b85
Wlan: Revision 3.2.3.221

Revision 3.2.3.221