Add changes to enabled driver to use external auto selection
logic instead of current driver based implementation.
In case external application is not present, driver will fall
back to current solution.
Change-Id: Ib7474e82bc7f5878af46c91ea09711775a7c046a
CRs-Fixed: 1110061
1) Add enhancements to the existing log prints for lFR3
with respect to host driver code.
2) Fix memory leak in Wma roaming config handler.
Change-Id: If3e26a7f374673a4c7c11862e94f042bcf9d3c58
CRs-Fixed: 1109354
A new HDD Request Management framework is being deployed. One of the
requirements of that framework is that every request API must have a
provision for a caller-supplied context, and that caller-supplied
context must be returned to the caller when the callback function is
invoked.
Currently sme_encrypt_decrypt_msg() is not aligned with that
requirement. There is no provision for a caller-supplied context;
instead the HDD handle which is stored in the MAC context is always
returned.
In order to prepare sme_encrypt_decrypt_msg() for the HDD Request
Management framework update the curent implementation as follows:
1) Remove the separate registration and deregistration of the callback
function pointer, and instead make the callback function and
callback context parameters to sme_encrypt_decrypt_msg().
2) Pass the callback context when invoking the callback function.
Change-Id: I6e8c5405393f4cb732d9874ac07145caf5e95cac
CRs-Fixed: 2000026
A new HDD Request Management framework is being deployed. One of the
requirements of that framework is that every request API must have a
provision for a caller-supplied context, and that caller-supplied
context must be returned to the caller when the callback function is
invoked.
Currently sme_get_bpf_offload_capabilities() is not aligned with that
requirement. There is no provision for a caller-supplied context;
instead the HDD handle which is stored in the MAC context is always
returned.
In order to prepare sme_get_bpf_offload_capabilities() for the HDD
Request Management framework update the curent implementation as
follows:
1) Remove the separate registration and deregistration of the callback
function pointer, and instead make the callback function and
callback context parameters to sme_get_bpf_offload_capabilities().
2) Pass the callback context when invoking the callback function.
Change-Id: I3967fdf9b002d961b0ec9a7ea78e7783b47c50a3
CRs-Fixed: 2000024
Currently sme_get_link_speed() requires that the caller pass an
allocated buffer as the lsReq param. This violates the general
concensus that SME should make no assumptions about the buffers passed
to it by HDD.
Update the implementation such that SME allocates the buffer that will
be passed in the message, and update HDD to use the stack.
Note that this is a prerequisite for moving the linkspeed request
processing to the new HDD Request Management infrastructure.
Change-Id: I09257855c6c260bb4a6ca91eb79bb24813cc5efa
CRs-Fixed: 2000023
Memory leak in csr_scan_save_roam_offload_ap_to_scan_cache
due to not freeing memory allocated using
csr_get_parsed_bss_description_ies.
Free memory in csr_scan_save_roam_offload_ap_to_scan_cache
function.
Change-Id: I6487dc5964e0e671b429f256e001fcb9d117f44b
CRs-Fixed: 1116621
Invalidate the scan entry if there is no active session and
do not inform it to the user space.
Change-Id: I134cceef0cfc54f68966d3287d92bdf6b35e33fc
CRs-Fixed: 1114216
Legacy message posting api cds_send_mb_message_to_mac does not
belong to cds and is relocated to WMA legacy file hence rename
it accordingly.
Change-Id: I68e868b0019896baa91e34418064b33219eef2ca
CRs-Fixed: 2000246
After control path scheduler componentization cds_mq.[ch]
needs to be deleted hence remove legacy UMAC message posting
API to WMA legacy file.
Change-Id: I781a7586cb6dbf635e283eacd38c768a6b7f6d3e
CRs-Fixed: 2000234
sme_configure_rxp_filter() sends a WMA message type that isn't being
handled, effectively making it dead code. Remove
sme_configure_rxp_filter and cleanup calling contexts as necessary.
Change-Id: I04190111e1c714cf93b42c9f17ea4d80049ee98d
CRs-Fixed: 1114226
Restrict SAP in 11abg mode when starting in 5/10 MHz, since sub 20MHz
channel width is not compatible with HT and VHT rates.
Change-Id: I80b3f7b8f360368f3c3cfe653c90432dfd173ce2
CRs-Fixed: 1113259
Instead of using CSN value based on peer’s numSoundingDim, check peer’s
CSN value to make sure CSN value in assoc request should not be greater
than the peer CSN value.
Change-Id: I1456fbeb3ab1ef294d16b8383a5a094ca68d09c2
CRs-Fixed: 1116537
Currently TSPEC IEs are not updated to CSR when reassoc response included
TSPEC IEs. In LFR3 CCX roaming, CSR doesnt get TSPEC IE data as reassoc rsp
doesnt include RIC data.
Del TSPEC is not being processed properly at CSR level as it doesnt have
any TSPEC information.
Add changes to update TSPEC IEs and length to CSR after successful
CCX roaming.
Change-Id: I0e024c8264cb2e06042d517824245db1f1d09aea
CRs-Fixed: 1108440
Currently scan results are first cached in SME and then they are
updated to kernel using results in SME cache. This may result in
updation of stale entries to kernel. Fix this by sending scan results
to kernel as and when driver receives them.
Also, add changes to send ext scan results to kernel.
Change-Id: I18f4b36cf3a9fc2e191352c868f69d797eb0a786
CRs-Fixed: 1098411
Complete cld driver is using common scheduler message queue APIs
hence remove redundant type casts associated with scheduler message
queue structures and APIs.
Change-Id: Ia5d6208cc365acd94f20bbc7cadc0e22be6fbd01
CRs-Fixed: 1114379
After control path scheduler componentization every legacy module
is supposed to use common converged scheduler message types and APIs.
Remove duplicate tSirMsgQ message types in mac and use converged scheduler
message queue APIs.
Change-Id: If47df18043f8127a20a72562bf45afe37dabca72
CRs-Fixed: 1114378
After control path scheduler componentization CDS message queue
APIs are no longer used hence replace CDS mq APIs in SME by
scheduler mq APIs.
Change-Id: I645209741a602798fc077a50ac66de198e292038
CRs-Fixed: 1114363
qcacld-2.0 to qcacld-3.0 propagation
uOsRequestedHandoff is not reset in many scenarios after reassoc
fails/timeout. Due to this if the next connect request initiate
scan for ssid to find the AP in local cache, the scan for ssid
complete handler think that OS requested handoff is in progress
and returns without initiating the connect or connect failure.
Thus the HDD remains in connecting state and after that scans
fails.
To fix this reset uOsRequestedHandoff whenever reassoc fails
Change-Id: Ife9ee885cc1638f2bc4e02fd91b000c6e00f0689
CRs-Fixed: 1101706
qcacld-2.0 to qcacld-3.0 propagation
If connect request has bssid_hint the behaviour is same as
when connect request has bssid present. So driver only try
to connect to BSSID present in the bssid_hint.
With this change if bssid_hint is provided in connect request
driver will prioritize connection to the BSSID provided and if it
fails to connect to bssid_hint, driver will try to connect to
other APs with same profile.
Change-Id: Ie7fd29cdfb2013aca1d4944272da6b3c29a16ab3
CRs-Fixed: 1107816
Fix peer_state transition in case of IBSS network. Currently
when IBSS peer is created, it is updated to Authenticated state
even before set key is complete. This is putting hardware into
bad state.
Add check in hdd_hard_start_xmit to check if peer is in authenticated
state before transmitting any packet.
Change-Id: Id89fac911cd757e2df368bb7e15a3cf476b2d90f
CRs-Fixed: 1111977
This is qcacld-2.0 to qcacld-3.0 propagation.
Implement NAN Datapath security changes. This mainly involves:
1) Getting CSID and PMK parameters from user layers and passing down
to firmware.
2) Passing CSID and SCID parameter received from firmware to user layers.
Change-Id: I25c85944abf4206f40b73f86996e9425c22df66a
CRs-Fixed: 1095382
qcacld-2.0 to qcacld-3.0 propagation
If SAP band is 2.4Ghz, driver will allow 5Ghz unsafe channels
in station scan list for connection / roaming.
And if SAP band is 5Ghz, We will allow 2.4Ghz unsafe channels
in station scan list for connection / roaming.
Change-Id: Ia204e5cabb6d8b87def90e42d4192afd5878e6fe
CRs-Fixed: 1062202
Add vendor abort scan which takes adapter and scan
id as input. Supplicant may abort a scan if a
preferred AP or P2P peer device is found.
Change-Id: Ia9cbf4bb38d2111b1fcf42a1e1f51d1049f5a9ab
CRs-Fixed: 1090800
-Disconnect triggered due to deauth from peer, at
the Same instance supplicant also triggered change iface
which initiated stop adapter.
-Disconnect triggered host based lost link scan and .
Stop adapter triggered vdev delete.
-VDEV delete is sent before Scan request which triggered
assert at firmware.
Cancel all the host based roaming scans as part of sme
close session handling.
Change-Id: I350b840264751615779bc20dad96723c8bf41b76
CRs-Fixed: 1107525
Traditionally full spectrum scan on STA/CLI is not allowed when SAP/GO is
already present on DFS channel.
With new generation of hardware, agile scan and agile DFS scan features
are supported which will allow hardware to do full spectrum scan even if
SAP/GO is present on DFS channel.
Change-Id: I7e5a21601642e0d6afef73beeecf80a3e0475909
CRs-Fixed: 1103730
There is a regulatory requirement for Specific Absorption
Rate (SAR) whereby the phone transmit power is reduced
when it is determined that the phone is in close
proximity to the body.
Implement a vendor command interface to set SAR power
limits dynamically.
Change-Id: I137ce9bde2fa05e363d5af17e155dc739d862c5f
CRs-Fixed: 1098102
In LFR3, for ccx scenario TSPEC IE are missing in
reassociation request frames initiated by FW.
Assoc IE are sent to FW via CSR Roam Scan Offload as
soon as connection is successful. Add the TSPEC IE
while sending assoc IE to FW via RSO command.
Change-Id: Ifa6145bfa209cca428321db9056c01c3a4b140de
CRs-Fixed: 1096199
Change the timeout values at HDD to match sme cmd timeout in all the
instances where HDD is sending cmd via SME command queue.
Change-Id: I00337169804b9ce71562cb114e4c2b92a7534dba
Crs-Fixed: 1100854
Host doesnt have changes to support specific BSSID vendor scan
if supplicant set specific BSSID.
Add changes to get BSSID to do specific scan if supplicant set BSSID.
Change-Id: I2b0ba590814e6c99f7003abdf855d3264b03a060
CRs-Fixed: 1099020
Current implementation of host driver will support fast roaming only
on a single device even in DBS mode. It is allowed on the first
STA, i.e. wlan device created in driver initialization. Dynamic roaming
disable/enable is allowed only on that device. Roaming is marked as not
allowed on other devices.
Change-Id: I3e3a72eb4d8fe81f6d3b784ab70023d2e3ac5618
CRs-Fixed: 1092386
Propagate from qcacld-2.0 to qcacld-3.0
Host send WoW pulse setting information to firmware and allow
firmware to use this pulse to wake host
Change-Id: I632b3e85a8e113b8b8d4c927e822dce53f1b6727
CRs-Fixed: 924672
Memory leak in csr_roam_synch_callback due to not
freeing memory allocated using
csr_get_parsed_bss_description_ies.
Free the memory in function csr_roam_synch_callback.
Change-Id: Iab8454850eabe029df4a3e0d868ca461686ed72f
CRs-Fixed: 1098966
In failure scenario host got two commands, one is connect
request on the STA interface and the second one is add
interface/open session on softAP interface.
HDD/SAP queues the eSmeCommandRoam first to
the SME active list and then eSmeCommandAddStaSession to
sme pending list with timeout value of 2 secs at SAP.
Connect takes more than 2 secs due to which addStaSession
gets timedout.
Configure SME active timeout value to 30sec.
Increase the wait time at SAP for open session to 30secs
which is equal to the SME active command timeout value.
Change-Id: I77a0279421566ded7cd0eb7cde7871d3074ec5cf
CRs-Fixed: 1096771
LFR module in firmware copies WEP keys from old AP to new AP during
roaming. Host driver should not install 0 length keys during roam
sync indication processing.
Change-Id: I002be0ab330a7161ca2554d9d423e8e1b2170e55
CRs-Fixed: 1096918
In function sme_set_tspec_uapsd_mask_per_session update
uapsd_per_ac_bit_mask as per the values received from
ADD TS response. Otherwise, ini change if 0 will always
override ADD TS response values.
Change-Id: Ie834f651bb097c084c81c6ebc9c8637f96d7a075
CRs-Fixed: 1096829
Maintain source of driver as well as 11d hint. Use the source of
hint to correctly disable 11d if required.
CRs-Fixed: 1093565
Change-Id: Id0ccc44389836b72466b501f5ce024f1be4b5926
Implementation of Host driver support to collect chip power stats
from firmware and display the stats in
"adb shell cat /sys/kernel/debug/wlan0/power_stats".
Change-Id: I19595ebf5a6870a0ee4d3cc2ff47d18eb24d213c
CRs-Fixed: 1045057
In function sme_ps_fill_uapsd_req_params perform a logical AND rather than OR
between current UASPD bitmask and values received in ADDTS response, otherwise
existing UAPSD bitmask (if all set) will always override ADDTS rsp values.
Change-Id: I17872f62b1f073963d3c04ad72415acd395f1ca5
CRs-Fixed: 1095306
Revert “If26f49386b72864730679e05559b7bba80b5487a” changes
to advertise max value configured as per the WFA certification
requirement 5.2.63 STAUT acting as MU Beamformee.
Change-Id: Ib11f1f5cad89579277eba2e0b9f0cbc3ea26de5c
CRs-Fixed: 1093901
qcacld-2.0 to qcacld-3.0 propagation.
Supplicant may send PNO command as disconnection was already informed
to supplicant while disconnection might still be in progress in PE
layer(DEL_STA/DEL_BSS).
Fix to send disconnect indication to upper layers after complete
cleanup.
Change-Id: I976044186eb8e79f709bda618b38815827a3e0c5
CRs-Fixed: 951162
While preparing roam_scan_offload_request in csr, populate QoS parameters
from current sme_session.
Change-Id: I8ec26b61babf15b622d2a96b304f068c15f78795
CRs-Fixed: 1092258
In function csr_issue_11d_scan, num channels is fetched from mac_ctx
before being used to access channel list. Check it against
WNI_CFG_VALID_CHANNEL_LIST_LEN before accessing channel list.
Change-Id: I4ef21ca03e1227801aaed2d5598aba7b91fdf8d3
CRs-Fixed: 1091486
When softap mode comes up, hostapd provides OFDM/CCK supported rates
based on hardware mode and channel. If same softap changes channel
from 2G to 5G or 5G to 2G then provided hostapd rates become invalid.
To avoid above condition, use basic rates generated within driver while
doing softap channel switch operation.
Ignore hostapd rates when pre-cac adapter is generated to handle radar
detection as pre-cap adapter is temporary & its not actual adapter.
CRs-Fixed: 1103673
Change-Id: Iec4b79ad848dec560b8a44cbaaa320416be62cb1
We want to enable the -Wmissing-prototypes compiler switch. Currently
when enabled there is a build failure due to qos_release_command() not
having a prototype. Add a proper prototype, and remove the associated
extern declaration from sme_api.c that is no longer required. In
addition remove adjacent obsolete prototypes.
Change-Id: If5f67e4cb8fdfe01837620394f23ede74cd6cf7c
CRs-Fixed: 1095704