For TDLS peer delete, mlme changes the limSmeState of STA session
to eLIM_MLM_WT_DEL_STA_RSP_STATE.
This leads to not sending vdev down to FW for STA interface as
psessionEntry->limMlmState is not in eLIM_MLM_LINK_ESTABLISHED_STATE.
CRs-Fixed: 2019041
Change-Id: I0707eabc8f4cf2571996d8ef2d6d621e01bcbb39
Ignore the Roam Synch Indication from firmware if the
user space has already issued a disconnect before
receiving ROAM_START from firmware.
Disconnect might have cleared the roam profile and will be
sitting in the queue for the PE processing to happen.
If the disconnect is in the queue and a roam synch indication
is received, then check the CSR state from the first callback
of roam synch propagation and bail out there itself.
Disconnect will eventually send a ROAM_STOP command to the
firmware and it will cleanup
Change-Id: I528f552cd601dc9d23f709410115fb0af944899d
CRs-Fixed: 2018928
If the offloaded roaming feature has started, but
has not completed for some reason, then issue a
disconnect and cleanup
Change-Id: Ibcd4f83ea126a1d05531f9bf30d6827008fdbfea
CRs-Fixed: 2019435
While addressing the issue fixed by change "qcacld-3.0: Cleanup scan
queue during driver unload" a couple of issues were observed in the
HDD scan cleanup code:
1) list node was directly typecast to hdd_scan_req instead of using
container_of() operation.
2) hdd_scan_req_q_lock spinlock was not being destroyed.
Address these issues.
Change-Id: I6d1e7f5a78848d43e62f893b82f538b960ea0609
CRs-Fixed: 2018045
The following assert was observed during driver unload:
QDF ASSERT in qdf_list_destroy Line 90
PC is at hdd_scan_context_destroy+0x4c/0x78 [wlan]
There was also an associated memory leak detected:
memory Leak@ File core/hdd/src/wlan_hdd_scan.c, @Line 562, size 48
memory Leak@ File core/hdd/src/wlan_hdd_scan.c, @Line 2284, size 584
The issue is that the scan cleanup routine, hdd_cleanup_scan_queue(),
is currently only called during SSR and is not being called during the
driver unload sequence. Update the unload sequence to call this API.
Change-Id: Ib398a528cbb504bc132d985a0fa8c2a772d44332
CRs-Fixed: 2018045
WMA registers for shutdown notification and during wma_close
WMA events are destroyed which are accessed from WMA shutdown
callback. Hence make sure to purge shutdown notification 1st
before calling wma_close.
Change-Id: I868a835f3da52596c0451f9c99638dbc97ea6abe
CRs-Fixed: 2018911
If the driver module is closed do not process the driver command,
it will lead to a crash by accesssing uninitialized lock.
To handle this issue check the module status before processing
driver command and if module is closed, simply return error.
Change-Id: Ic651e1abdf6b2efa27e57695c04ace249f9d21bb
CRs-Fixed: 2018746
Add "g_enable_bcast_probe_rsp" INI and pass the configured value
to firmware for STA vdev as part of vdev attach. Based on this INI,
firmware will send the dwell time IE in probe request.
Change-Id: I446c7d7589534688e04579ed434de0803ed8b4ff
CRs-Fixed: 1113498
The host driver should not attempt to power collapse while pending
VDEV_START commands are in flight. Acquire a wakelock before sending a
VDEV_START request to firmware, and release it upon receipt of
VDEV_START response.
Change-Id: Iccca8ce4213b7527421f6b93fc4e08be9c31f471
CRs-Fixed: 2018066
qcacld-2.0 to qcacld-3.0 propagation
Once the beacon miss event is received in driver, sta cleanup
happens and sends deauth reason code as 505 which is internal
value to driver(eSIR_SME_LOST_LINK_WITH_PEER_RESULT_CODE).
Send reason code as zero to Supplicant for Beacon miss kickout.
Cleanup the similar handling in csr_api_roam as it is redundant.
Change-Id: I6df97e05ac20f285646df3d5fe73800138a18d89
CRs-Fixed: 1025871
Currently user space communication functions[cnss diag, PTT socket app]
in host driver uses netlink user sockets which is a security concern from
Linux Android SE policies.
Add support for to use netlink family cld80211 which uses generic
netlink sockets.
Change-Id: I4ea49ac6d7c9381212c93567fdc40f90e04dfba4
CRs-Fixed: 1112784
Strip supported operating classes IE from additional IE’s sent by user
and update the same to rearrange along with other IE’s in ascending
order.
Change-Id: I198e8e3aa8e0f977d916d7f3a6fc0e5951032769
CRs-Fixed: 2006920
Update the default value of gFwDebugModuleLogLevel as per the request
of the firmware team.
Change-Id: I7d0c45689b962d39c5f9371a10f6da690129de99
CRs-Fixed: 2013439
Active Mode Berkeley Packet Filter (Active BPF) is a new feature that
allows firmware to apply BPF even while the Apps processor is active.
There are 3 modes:
* Disabled: do not apply BPF in active mode
* Enabled: apply BPF to all packets in active mode
* Adaptive: apply BPF up to some threshold to avoid performance impact
Add an ini item called gActiveBpfMode to configure the Active BPF Mode
in firmware.
Change-Id: I6cf60d67238802fe1e1662c040910091f5c25bec
CRs-Fixed: 1111400
This change includes adding hooks in the data path to
send WMI command to enable LRO or/and configure a hash
seed value
Change-Id: I3f068307f7669c4ff8baa5102e9fb7729d4a348d
CRs-Fixed: 1094775
Propagation from cld3.0-1.1 to cld3.0-2.0
Do not indicate the roam event to user space if disconnect is
deferred, since it will soon be honored and a disconnect event
will be sent to the user space. Do not reference the kernel bss
data as well when disconnect is in progress.
Change-Id: I0b76a2af021efe0e1c8693c4e5908ed576770813
CRs-Fixed: 2017409
FW TDLS state supports single TDLS context. TDLS context in FW
does not need to be deleted while deleting TDLS sta in the host.
If FW TDLS state update comes for one vdev while TDLS context
is already present for other vdev, then FW will crash.
The change is to remove updating FW TDLS state while deleting
TDLS sta. This change also address cleaning up TDLS peer from
lim while informing to supplicant.
Change-Id: I300388def5052180d330cc82553085538e80202e
CRs-Fixed: 2013151
qcacld-2.0 to qcacld-3.0 propagation
Add changes to correct the function to check for acs channel range.
CRs-Fixed: 1117328
Change-Id: Ie0a53c2f5ee26552d36da0e6c4dcda124abc71a7
Currently, 3 non-tdls ini config options are wrongly merged inside
TDLS macro when auto propagation from CLD2.0 to CLD3.0. Move the ini
configs outside of TDLS macro.
Change-Id: I1ee784519c2197b4dc3f0119fb3a9f379fe7288b
CRs-Fixed: 2016679
qcacld-2.0 to qcacld-3.0 propagation
tx_msdu_info.peer should be reset to NULL for
each MSDU. Each MSDU will be classified by
ol_tx_classify to get peer.
Change-Id: I68fe619435a6edfdd82fa083ad9cb81251705ad5
CRs-Fixed: 1109984
Propagation from cld3.0-1.1 to cld3.0-2.0
Upper layer can send cfg80211 disconnect command anytime in the life
of a connection. It arrive when firmware roaming may have started,
completed, failed, etc. Processing of roam events may collide with
processing of disconnect command in the host driver.
Defer the hdd disconnect command if roaming has started. Upon completing
roaming send the deferred disconnect command to sme which will
eventually complete the requested disconnect.
If disconnect is deferred during roaming, then do not send the
new roam event to supplicant since it is not expected and upon
honoring the disconnect later, a disconnect event would be
sent to supplicant.
Remove the earlier workaround done to send a try again error message
to upper layers upon receiving a disconnect request when roaming
is in progress
Firmware can now handle the ROAM_SCAN_OFFLOAD_STOP command even
if it is in the middle of roaming operation. Hence remove this
check in SME.
Add LFR3 roaming state to the cds_is_connection_in_progress API since
it currently captures only LFR2 roaming states.
Change-Id: Id352d94b41f0766889ceebd0b57b2c566ce3ca42
CRs-Fixed: 1114853
When SAP comes up on DFS channel, then scan windows scans
only limited APs since NL scan cache will be flushed every
7 secs and scan results shall be read by the wpa_supplicant
only after the scan done indication.
The change is to allow burst scan when SAP is on DFS channel.
Change-Id: Ia1458cf4f4f868f2d0c36b2679118016fd966528
CRs-Fixed: 2017252
When converged scan is enabled all the scan commands are queued to
serialization module from scan module and use struct
scan_start_request pointing to umac_cmd pointer.
Due to this if there is already an scan req going on and ROC is
queued driver fails to find ROC request in csr_get_active_scan_entry()
as the CSR try to interpret umac_cmd pointer as tSmeCmd.
And thus sometime ROC cmd times out.
Fix this by interpreting umac_cmd as struct scan_start_request for
scan cmd instead of tSmeCmd.
Change-Id: I6674a54b60d28d799188261b1e56b0c657c1ac19
CRs-Fixed: 2013212