Commit Graph

737 Commits

Author SHA1 Message Date
Naveen Rawat
8029a40b49 qcacld-3.0: Update beacon template from sme update config API
Currently sme_update_ht_config only update csr_session and sends updated
params to FW via VDEV_PARAM command. Same is not reflected in pe_session
and beacon template. Update beacon params in LIM by sending param update
message to LIM.

Change-Id: I1f926b4d2d5467c7702e03ff281879529c89f6f5
CRs-Fixed: 2055347
2017-06-29 19:45:42 -07:00
lifeng
21b7b8bd49 qcacld-3.0: Change ssidHidden variable type as tHiddenssId enum
Change ssidHidden variable type as tHiddenssId enum instead of
original boolean type in tagCsrSSIDInfo structure to backup the
value from hdd (eg: eHIDDEN_SSID_NOT_IN_USE, eHIDDEN_SSID_ZERO_LEN,
eHIDDEN_SSID_ZERO_CONTENTS).

Change-Id: Ibc88c80856984b1b61e2fbe489219b391900dad3
CRs-Fixed: 2065342
2017-06-29 19:45:39 -07:00
Krunal Soni
c3c8b8b34f qcacld-3.0: Add NULL check before passing VDEV object
VDEV object has not been checked against NULL value before passing as
part of message to a next layer

CRs-Fixed: 2063561
Change-Id: I9c7ad08f1e201779cb433044a1525555a2ccaa34
2017-06-29 19:06:00 -07:00
Jeff Johnson
6136fb90e2 qcacld-3.0: Add WMA FIPS infrastructure
As part of the support for the FIPS certification feature add the
WMA infrastructure.

Change-Id: I7e113cee8ba9a08c2efd1141bef84e43d530cdcb
CRs-Fixed: 2065002
2017-06-29 19:05:56 -07:00
Will Huang
03b54ee905 qcacld-3.0: Avoid using pointer without NULL check
Fix static analyze issues which cause is may dereference NULL
pointer, adding NULL pointer check or using already checked pointer.

Change-Id: Ib3a1f5214da839cd2bec4ffee16e0809095fa513
CRs-Fixed: 2058073
2017-06-29 18:25:31 -07:00
Ravi Kumar Bokka
05c14e5c50 qcacld-3.0: Auto Detect SoC Power Collapse Failure changes
Add host support for detecting SOC power collapse failures in FW and
communicating the same to framework.

Change-Id: Icee39c896802c4d7136e0b8ef442a33feeb4799c
CRs-Fixed: 1112979
2017-06-27 22:13:09 -07:00
Deepak Dhamdhere
828f189328 qcacld-3.0: Add support for PMKID modes of PMK caching and OKC
Convert the boolean variables used for tracking okc_enable into
separate bit flags for OKC and PMK caching. Firmware will also
add support for bitwise enablement of OKC and PMK caching in 802.11i
configuration part of RSO command.

CRs-Fixed: 2004963
Change-Id: Ib2fcdc6318adb488eca5cf47b2b59541020e6009
2017-06-26 11:58:01 -07:00
lifeng
66831666b4 qcacld-3.0: Add vendor attr to get rx aggregation statistics
qcacld-2.0 to qcacld-3.0 propagation

By setting the corresponding parameters: reorder timeout and window size
to FW, the host will deliver information about aggregation of the packets
on RX to upper layer.

Change-Id: I404d56d8d9ca3e90f8d1dee28abd80d784924901
CRs-fixed: 1078111
2017-06-23 13:42:16 -07:00
Srinivas Girigowda
af0173e171 qcacld-3.0: Fix compile warnings and reduce log levels
Fix compile warnings and reduce log levels.

Change-Id: Ic4ed8c3f46da2ae1514e2bd6792638b62f7f2397
CRs-Fixed: 2024274
2017-06-22 13:37:56 -07:00
Naveen Rawat
c921c7b2cc qcacld-3.0: Add check for set_ft_ies buffer length
Add check for buffer length in function sme_set_ft_ies.

Change-Id: I7adc56e23316c0ceb193a5bdf8c4c0b5f4fbd20a
CRs-Fixed: 2055659
2017-06-22 13:37:55 -07:00
Selvaraj, Sridhar
0641fabce5 qcacld-3.0: Add INI to configure min rssi for roamable AP in PER Roam
Add INI "gper_min_rssi_threshold_for_roam" to configure the minimum
RSSI required for AP candidate to roam in PER based roaming.

Change-Id: I5549c44d2dffb20e92923d3b62e08b94b7a87c9d
CRs-Fixed: 2048414
2017-06-22 03:58:05 -07:00
Selvaraj, Sridhar
81ab80dfb1 qcacld-3.0: Keep bssDescription at the end of tSirSmeJoinReq struct
Move bssDescription to the end of tSirSmeJoinReq since bssDescription
has ieFields at its end which would be corrupted if we dont keep it
at the end of bssDescription. This results in not detecting the IE's
properly after assoc response processing, not setting wpa_rsn flag
in PEER_ASSOC_CMD to fw. The subsequent LFR3 roam if happens in fw
fails because of this.

Keep bssDescription at the end of tSirSmeJoinReq struct and other
structs where bssDescription is used.

Change-Id: I7096f7da0a475b0c63078f3c77fba240a41dfb00
CRs-Fixed: 2058223
2017-06-21 22:33:33 -07:00
Ajit Pal Singh
64aff0c8a9 qcacld-3.0: Reject connection if channel not ok for DNBS
Reject connection in csr_roam_connect(), if the BSS entry selected
from the driver cached scan results, has a channel which is not OK for
Do_Not_Break_Stream.

Change-Id: Icf725361382bff7dad80138cfc1b51bafa548afa
CRs-Fixed: 2064380
2017-06-21 21:31:34 -07:00
Sandeep Puligilla
994f620e23 qcacld-3.0: Cleanup legacy scan in SAP module
Cleanup legacy scan code in the SAP module.

Change-Id: Ifdb2575727c5c52a2b09c03d8bde43e5fd8fb910
CRs-Fixed: 2063667
2017-06-21 05:56:13 -07:00
Krishna Kumaar Natarajan
b9e1d71b3f qcacld-3.0: Use CDP API in sme_open_session
Use CDP API in sme_open_session() instead of ol_txrx API.
Using ol_txrx API will lead to unexpected behavior.

Change-Id: I7012fd1904c730fb1074c262cb096d0cd8c20362
CRs-Fixed: 2064278
2017-06-21 03:41:53 -07:00
Abhishek Singh
533c9da880 qcacld-3.0: Wait for roam to get stopped during disconnect
In case roaming was in progress when hdd_disconnect was called, avoid
defer disconnect as that will call hdd api in mcthread which waits on
event for about 5 seconds thus blocking everything. Also defer disconnect
makes supplicant and driver state go out of sync. Rather wait in hdd
for roaming to complete and then issue disconnect keeping state simple
and clean

Change-Id: I1b971226187892f32eb493047c13353bb0d1c867
CRs-Fixed: 2042394
2017-06-20 16:17:39 -07:00
Abhishek Singh
154637ac11 qcacld-3.0: Post Set key with high priority to lim
If pe queue contain management frame and set key cmd is sent as low
priority the set key may timeout.

Thus to fix this post set key with high priority to lim,
so that it can be processed in priority.

Change-Id: I31e346da6662ab56f268f94260ed0f169b8f182b
CRs-Fixed: 2056378
2017-06-20 05:05:59 -07:00
Naveen Rawat
5c35ae4ee4 qcacld-3.0: Send ROAM_SCAN_OFFLOAD_STOP to FW directly from HDD
In case user space disconnects, directly send ROAM_SCAN_OFFLOAD_STOP to FW
to avoid delays in queues.

Change-Id: Ia6e458617818da5ad2e956cd30a203652949db21
CRs-Fixed: 2035160
2017-06-20 03:30:37 -07:00
Kiran Kumar Lokere
7855ee8342 qcacld-3.0: Remove QDF assert for non critical errors
Remove the QDF asserts for qos related errors

Change-Id: I61b99f291b305c5905d544f0062a12734a5ea368
CRs-Fixed: 2054327
2017-06-19 22:30:31 -07:00
Kiran Kumar Lokere
ef93ee97d7 qcacld-3.0: Remove qdf assert for non critical errors
Remove qdf assert for non critical errors in qos.

Change-Id: I20319bac0bdd268d2d46ce7859fd41e8fdc8f5f5
CRs-Fixed: 2044770
2017-06-19 20:10:44 -07:00
Kiran Kumar Lokere
26d0548b73 qcacld-3.0: Disable MU beamformee in master mode operation
Do not advertise MU beamformee capability in SAP, P2P GO and IBSS
operating modes.

Change-Id: Iee6ecaaddef374c9954c5144107bcce9da48c001
CRs-Fixed: 2048653
2017-06-15 12:56:03 -07:00
Sandeep Puligilla
f587adff92 qcacld-3.0: Serialize IPA stats command in low priority queue
Currently IPA stats command request gets scheduled at every
100ms and posts message to WMA queue which can cause MC
thread to prioritize these request messages over other
messages in pe queue. This can cause delayed processing of
association related messages in pe queue in noisy environement.

To avoid this serialize IPA stats cmd to lower priority SME queue.

Change-Id: I1f8257b869dacd65a61e52e34f001ee24c108c4a
CRs-Fixed: 2040579
2017-06-14 15:53:45 -07:00
lifeng
e9245fcedb qcacld-3.0: Update the supported rates when channel switching
qcacld-2.0 to qcacld-3.0 propagation

Fix the regression issue introduced by
commit 329c3375edfcf5c434ed57fdec5dd27229611d8a.
The supported rates are populated by hostapd per the pre-defined
hw_mode in conf file.
Obviously the supported rates won't update althought cross-band
switching from 2G to 5G, then the sap will reject any sta who
intends to join the bss.

The Fix now is to populate the intersection of rates generated by
hostapd and driver itself.

Change-Id: Ica336398865a8b5e16297e4555dbb7de5e79567e
CRs-fixed: 1109564
2017-06-14 11:56:36 -07:00
Nitesh Shah
f9a09ff89a qcacld-3.0: Send DBS Scan selection policy command to WMI
This change address sending DBS Scan selection policy command
to WMI.

Change-Id: I0117845ac28e3ca8977eefc09b738a79181b4115
CRs-Fixed: 2029280
2017-06-14 08:23:57 -07:00
Naveen Rawat
257386f1ea qcacld-3.0: Add lockless API for csr roam_sycn callback
CSR API for roam_sync callback acquires SME lock for its operation and
have multiple exit points. This creates risk of missing on releasing lock.
This change acquires and releases lock once in csr_roam_synch_callback and
add a lock less API that does logic handling.

Change-Id: Ifab0a8cce4b0746364ddbde44347d497999cc821
CRs-Fixed: 2048614
2017-06-14 02:28:33 -07:00
Arif Hussain
ee6770181e qcacld-3.0: Avoid session and peer with same MAC address
vdev create request with selfMAC address matching to any of the peer MAC
address cause crash in firmware, So before creating new session/peer
make sure that there is no peer/session with same MAC address.

Change-Id: I7be415365ab7112b013b478139deb451863d52d8
CRs-Fixed: 1115373
2017-06-14 00:58:37 -07:00
Selvaraj, Sridhar
64b0a9ce71 qcacld-3.0: Update channel info if not provided in FASTREASSOC command
Currently, driver is rejecting the FASTREASSOC command if the channel
is not provided as part of it (or) channel is given as zero.

Update channel from BSS description of the given BSS and honour
the FASTREASSOC command even if the channel is given zero.

Change-Id: Ie67a75fb7ccf470b95454842b7f46baa9b09d54c
CRs-Fixed: 2046547
2017-06-13 23:31:04 -07:00
Sandeep Puligilla
b0e017c581 qcacld-3.0: Free the csr profile after connection
Free the CSR profile after successful connection.

Change-Id: I710ce0fae904db9d597590ce9860ca38fc5f7a34
CRs-Fixed: 2059336
2017-06-12 15:24:22 -07:00
Kiran Kumar Lokere
3beeb95c60 qcacld-3.0: Use regulatory component api to check 11d support
Replace the legacy csr api with regulatory component public api
to check if the 11d support is enabled by host.

Change-Id: I53c2378cf010693d4efa7ff8ff611e6062569adb
CRs-Fixed: 2048784
2017-06-12 13:26:06 -07:00
Selvaraj, Sridhar
5056650c2e qcacld-3.0: Re-enable fw LFR3 engine after roam sync complete
Currently, host driver sequence of events is as below
- roam sync indication from fw
- invoke csr_roam_synch_callback with SIR_ROAM_SYNCH_PROPAGATION,
  which sets roam_synch_in_progress in csr session
- disable LFR3 roam in fw(send RSO stop)
- Assoc completion, Set key
- In csr_neighbor_roam_info_ctx_init, RSO start attempt fails
  due to roam_synch_in_progress set
- invoke csr_roam_synch_callback with SIR_ROAM_SYNCH_COMPLETE,
  which resets roam_synch_in_progress
Because of this, LFR3 is not re enabled(RSO Start is not sent)
after roam synch indication.

Re-enable fw LFR3 engine(Send RSO Start) after roam sync complete.

Change-Id: I231b6f7427cd938d9801af20dd4719482cfa7584
CRs-Fixed: 2047267
2017-06-09 12:12:13 -07:00
Sreelakshmi Konamki
0d17c6a381 qcacld-3.0: Fix comparision of unsigned values against 0
Add changes to remove comparision of unsigned values against 0

Change-Id: I36b35f0c3cee22a636af1202a3ec1003e0a425c4
CRs-Fixed: 2049500
2017-06-09 11:28:16 -07:00
Abhishek Singh
d1d10b4031 qcacld-3.0: Fix ACS failure if no AP is found during scan
If no AP is found in scan req for ACS, the get scan results return
error E_EMPTY. But th ACS need error E_NULL_VALUE to find a valid
channel if scan results are empty.

To fix this Return E_NULL_VALUE instead of E_EMPTY, if scan results
are empty.

Change-Id: Id50eb66e89881d4a763084037bd5576eb500bb68
CRs-Fixed: 2057618
2017-06-08 07:00:25 -07:00
Selvaraj, Sridhar
532ea981c3 qcacld-3.0: Send RSO Start followed by RSO Stop for supplicant disabled roam
Currently, if supplicant disabled roaming, driver doesnot send RSO
cmd to fw. This causes roam invoke to fail in FW since RSO start
never happened at least once to configure roaming engine in FW.

After connection, Send RSO start followed by RSO Stop if supplicant
disabled roaming to make sure roaming engine in FW is configured
properly with required parameters at least once.

Change-Id: I72b73554b03ea3f0fa04d0da2a2db96c0ed8b1c8
CRs-Fixed: 2042629
2017-06-06 08:30:57 -07:00
Selvaraj, Sridhar
05ea0791e3 qcacld-3.0: Restrict FILS caps in ext cap to STA mode only
Currently, host driver sets FILS capability enable if broadcast
probe response support is enabled(i.e. g_enable_bcast_probe_rsp).
since this support adds FILS request params IE(which has the max
channel time STA would wait for AP to respond with broadcast probe
response) in probe request, FILS capability is set in ext cap.
However, it is also set in SAP role which leads to scan issues with
some client stations.

Restrict FILS caps in ext cap to STA role only if
g_enable_bcast_probe_rsp INI is set.

Change-Id: Ia5fc0cbf36a4a6df3eb21015ef0508f6daa7b21d
CRs-Fixed: 2048318
2017-06-06 08:30:56 -07:00
Nishank Aggarwal
68d39274f0 qcacld-3.0: Fix suspicious dereference of pointer
Add proper NULL check before dereferencing pointer.

Change-Id: Ie6b92eae97d51daafe6fa1242263deb9e2e0bd10
CRs-Fixed: 2043356
2017-06-05 06:15:51 -07:00
Selvaraj, Sridhar
320ed6226c qcacld-3.0: Remove qdf assert in sme_qos_process_reassoc_req_ev
Remove non critical qdf_assert in sme_qos_process_reassoc_req_ev.

Change-Id: I84eb1b609d310afec4e6a9ed2e4da7b91477ec07
CRs-Fixed: 2054327
2017-06-05 06:15:47 -07:00
Sreelakshmi Konamki
c931b377ba qcacld-3.0: Fix compilation issues
Observing compilation errors when FEATURE_WLAN_LFR_METRICS
flag is enabled.

Add changes to fix the compilation errors

Change-Id: I9272cf26e590879f327629e21c76b991d077ad5c
CRs-Fixed: 2053760
2017-06-02 20:38:56 -07:00
Yuanyuan Liu
889167d4bf qcacld-3.0: Fix compilation error
Fix compilation error of "sessionId may be used uninitialized in
this function" by initializing sessionId to CSR_SESSION_ID_INVALID.

CRs-Fixed: 2055208
Change-Id: Id2da1f3ee028d85b1e0c1dfc4f65af5a54dd4479
2017-06-02 17:59:44 -07:00
Krunal Soni
364e087691 qcacld-3.0: Defer power-save for certain APs during initial connection
Few APs create interoperability issues when STA goes to power-save mode
right after initial connection.

In order to resolve these issues, defer the power-save for few seconds
when connected to those APs.

Change-Id: I3f6b642fb4e481dcb8e14f6da141f4cfa9d6b167
CRs-Fixed: 2046014
2017-06-02 14:47:43 -07:00
Arif Hussain
43354e663f qcacld-3.0: Handle user-space roaming failure case
Supplicant uses connect command to send roam request and
also starts auth timer. On failing to receive assoc success
from driver, supplicant will send disconnect indication to
the driver after auth timeout which is 10 sec.

So, currently supplicant does not allow to stay with current AP
if roam invoke fails.

On roam invoke failure, indicate this failure to supplicant
and send death to current AP for driver and firmware cleanup,
So that we can avoid 10sec auth-timer delay.

Change-Id: Ie010a55b9b7a6563c817b17815d004f7b8bfa2fa
CRs-Fixed: 2044156
2017-06-01 21:21:21 -07:00
Manikandan Mohan
39accff49b qcacld-3.0: Add INI item for 11AX HE params and configure on BSS start
Add INI params for 11AX HE OBSS_PD. Update code to set
these params on BSS start on station connection and SAP start.

Change-Id: I60ae2cae936558668dfb1059744a6e3891aaebd1
CRs-fixed: 2045431
2017-06-01 16:01:09 -07:00
yeshwanth sriram guntuka
4c9a66989c qcacld-3.0: Remove unused concurrency ini parameters
Remove unused concurrency ini parameters used to
configure number of channels combined for each split
scan operation.

Change-Id: I913b6e769f282a0f5a0ddb40e54d294ae07deb55
CRs-Fixed: 2013444
2017-06-01 06:06:49 -07:00
Sandeep Puligilla
68726b6c73 qcacld-3.0: Fix memory corruption in CSR
Freed scan list is accessed in CSR.

Don't free the memory when the scan list contains
zero entries.

Change-Id: Ia3bd1193288781ea15a2eab2e0a0ffd24b4d03f7
CRs-Fixed: 2052399
2017-06-01 06:06:46 -07:00
Sandeep Puligilla
1954af2dea qcacld-3.0: Increase SSID array size
- Increase SSID variable array size while
handling scan for ssid.
- Cleanup scan for ssid API. Remove
legacy scan code.

Change-Id: Ia3a1a9dfc61e3453c1277742155d4572f28fb1a5
CRs-Fixed: 2054232
2017-05-31 23:38:11 -07:00
Naveen Rawat
b2fc41317f qcacld-3.0: Introduce ini param for forcing 1x1 for certain peer
For a certain Vendor OUI this ini param allows STA connection in 1x1
only. This is needed to resolve IOT issue.

Change-Id: If4ff4ece3c4bd1c4b85ebfd5c4870b27efbbe475
CRs-Fixed: 2047347
2017-05-31 23:38:08 -07:00
Padma, Santhosh Kumar
19f5765793 qcacld-3.0: Update dot11mode properly for roamable AP
qcacld-2.0 to qcacld-3.0 propagation

Currently dot11mode is not updated properly for roamable AP. This can
result in incorrect data rates. Update dot11mode to fix this.

Change-Id: I644f685fc2c0e041b308017ed3206d56c9c57fe9
CRs-Fixed: 2053478
2017-05-31 17:57:10 -07:00
Abhishek Singh
44b271fbfb qcacld-3.0: Always set SU bformee capability in assoc req
If SU beamformee is not set in assoc req when AP is not SU beamformer
low throughput is seen with specific AP.

To fix this, always set SU bformee capability in assoc request
depending on ini value.

Change-Id: If1279cf10b45d9e8900dc2eb5021a4603537aaee
CRs-Fixed: 2050951
2017-05-30 23:28:32 -07:00
Ravi Kumar Bokka
4bd571d914 qcacld-3.0: Configure and clear packet filter
Add PMO changes to configure and clear default packet filters
over suspend and resume.

Change-Id: Icd0acdbb58bebb5726a4213b13db59fe083835a5
CRs-Fixed: 2034398
2017-05-30 17:31:27 -07:00
Naveen Rawat
4195c5ef8e qcacld-3.0: Avoid UMAC messaging in HDD
In hdd_wma_send_fastreassoc_cmd function we are directly invoking UMAC
messaging rather than calling an SME API. Implement SME API that can be
called from hdd_wma_send_fastreassoc_cmd and take care of messaging.

Change-Id: I2924da44e6b5e31e741a8816cf7afea293225219
CRs-Fixed: 2050646
2017-05-26 11:15:15 -07:00
Naveen Rawat
334c51bb7d qcacld-3.0: Fix NDI create crash
When NDI create and delete are repeated multiple times NDI create
crash second times due to MC thread getting stuck in infinite loop
within function csr_scan_append_bss_description. This function is
not applicable for NDI profile type. This patch fixes this by avoiding
csr_scan_append_bss_description for NDI mode.

Change-Id: If63068e214fa546f1ed015a99ed5b2f95298b39b
CRs-Fixed: 2044704
2017-05-25 20:41:01 -07:00