Commit Graph

1180 Commits

Author SHA1 Message Date
Jeff Johnson
330c0bf8ef qcacld-3.0: Fix sme_update_channel_list() API
Currently sme_update_channel_list() is defined to take a
tpAniSirGlobal mac_ctx. However SME APIs are supposed to hide the fact
that they operate on tpAniSirGlobal and instead should be taking a
tHalHandle. Furthermore a tHalHandle is what is currently being passed
by HDD.  Therefore update sme_update_channel_list() to take a
tHalHandle.

Change-Id: I2f424a6c11342470fd6885968d635109327be3f0
CRs-Fixed: 2254947
2018-06-06 20:27:56 -07:00
Kiran Kumar Lokere
4c75929fa7 qcacld-3.0: Fix duplicate assignment with wrong value
Remove the duplicate assignment with wrong value that
is never used

Change-Id: I6d599f5b4db457340fdf40d9c7637effb0948c57
CRs-Fixed: 2232901
2018-06-06 07:39:27 -07:00
gaurank kathpalia
99d06c14e9 qcacld-3.0: Fill PMK info in pmk_cache in NON-FILS case
Currently the firmware supports FILS by default, and the
kernel and driver have dependencies on the kernel version
for FILS support. The PMK info i.e the PMK length and the
PMK itself is sent to the firmware as part of roam
scan offload params, and are filled from the PMK
received from the CFG layer via csr_roam_set_psk_pmk.
The PMK and its parameters are received via a vendor
command, and called via ops wlan_hdd_set_default_mgmt_key.
With the presence of FILS feature, the pmk is filled
via hdd_fill_pmksa_info(), which fills the PMK,PMK
length to the pmk_cache. It is called via ops
wlan_hdd_cfg80211_set_pmksa. But in the NON-FILS case,
the PMK, PMK length received from the CFG layer is NULL
and zero respectively, and hence the firmware which expects
a valid PMK and PMK length gets a PMK as NULL , and the
PMK length as zero, which will lead to deletion of the
pmk received earlier via vendor command, also a fresh 8-way
handshake from the HOST, rather than a 4-way handshake
from firmware if the PMK-ID for that particular AP(BSSID)
matches the PMK-ID in the AP.

Fix is to fill the params of PMK, PMK length in the NON-FILS
case too by copying the params received previously via the vendor
command, where the params are stored in the session itself.
Hence it will fulfill the requirement of the PMK, PMK len
from the firmware, and lead to a faster handshake process
while re-associating.

Change-Id: I4c91cac6bad400c8fa58b2a6ba2b282a3b7f1620
CRs-Fixed: 2243070
2018-06-06 05:49:17 -07:00
tinlin
3855eaadc7 qcacld-3.0: Report BSS of only requested RC in Rrm
Propagation from cld2.0 to cld3.0.

When receiving beacon request for radio measurement, sta
reports BSS in all valid channels regardless of specified
regulatory class in request. To fix this, let sta report only
BSS of requested RC.

Change-Id: I98c80ab3d53dd9d63225349e3c7657f48c758957
CRs-Fixed: 2237989
2018-06-04 07:04:58 -07:00
Dundi Raviteja
3bcf3a89e3 qcacld-3.0: Use request manager to get NUD stats
Use request manager for handling get NUD stats

Change-Id: Ie1a15de440803d007d16568138d4a8e7692a30d4
CRs-Fixed: 2246435
2018-06-01 12:02:35 -07:00
wadesong
cb0ded2438 qcacld-3.0: Add diag event support for ACS
Send ACS diag event when SAP is doing ACS.

Change-Id: I409b57dce98a12796cfee1619c8efe47a403bd1d
CRs-Fixed: 2238666
2018-05-31 19:23:07 -07:00
Krunal Soni
8a090df3e5 qcacld-3.0: Pass the arg by reference while calling sme_pdev_set_pcl()
While calling sme_pdev_set_pcl() API, driver is passing the argument
by value. The size of the argument is 280 bytes which is not good
design.

Pass the argument by reference instead of passing it by value to make
design simple.

CRs-Fixed: 2233212
Change-Id: I92849fb125fe864c1c7c7977bce392a7bcfe4121
2018-05-30 13:57:15 -07:00
Sandeep Puligilla
36470614c0 qcacld-3.0: Remove unused commands
Remove unused serialization commands like
eSmeCommandEnterStandby
eCsrSmeIssuedReassocToDiffAP

Change-Id: I30b9aeb29702b33d94c0ec61258971120cc09a97
CRs-Fixed: 2245048
2018-05-24 07:51:46 -07:00
Kiran Kumar Lokere
6c7f3fae12 qcacld-3.0: Add configuration support to enable/disable Tx BF
Add support to dynamically enable/disable the tx beamformee
support.

Change-Id: I205fd352d731e9b26654b8bbbbc459d2798b03be
CRs-Fixed: 2241816
2018-05-23 17:35:07 -07:00
Wen Gong
7952fbd708 qcacld-3.0: Add extscan feature flag
Add config flag to enable / disable extscan feature

Change-Id: Icb5087619964b729041e18127baba1b2796ed911
CRs-Fixed: 2226549
2018-05-20 21:55:45 -07:00
Naveen Rawat
fa2a100bac qcacld-3.0: Add implementation of get_station_stats
Add changes to support get station stats from within cp_stats
component.

Change-Id: Id685e9d94f185ee562f21d12d118e94a737a6a7e
CRs-Fixed: 2210338
2018-05-19 10:56:45 -07:00
Naveen Rawat
ea1564b784 qcacld-3.0: Fix tTxrateinfoflags as per linux coding guidelines
Fix tTxrateinfoflags as per linux coding guidelines, this will later
help move the struct to qcacmn.

Change-Id: I1911d25594aaecc7c166cf36b79111b61e6de457
CRs-Fixed: 2244834
2018-05-18 16:46:40 -07:00
Jeff Johnson
698eacd7a7 qcacld-3.0: sme: Fix misspellings
Address the following issues in the core/sme folder:
CHECK 'accomodates' may be misspelled - perhaps 'accommodates'?
 (actually accommodated)
CHECK 'acknowledgement' may be misspelled - perhaps 'acknowledgment'?
CHECK 'becasue' may be misspelled - perhaps 'because'?
CHECK 'becuase' may be misspelled - perhaps 'because'?
CHECK 'catagory' may be misspelled - perhaps 'category'?
CHECK 'explictly' may be misspelled - perhaps 'explicitly'?
CHECK 'failue' may be misspelled - perhaps 'failure'?
CHECK 'fucntion' may be misspelled - perhaps 'function'?
CHECK 'infomation' may be misspelled - perhaps 'information'?
CHECK 'inteface' may be misspelled - perhaps 'interface'?
CHECK 'managment' may be misspelled - perhaps 'management'?
CHECK 'messsage' may be misspelled - perhaps 'message'?
CHECK 'Notifed' may be misspelled - perhaps 'Notified'?

As well as the following spotted during code review:
'sucsess' -> 'success'

Change-Id: Ieaa299d4dbc08c07f10aaf9d967336ac7b11d88d
CRs-Fixed: 2241947
2018-05-18 02:17:01 -07:00
Jeff Johnson
536249f659 qcacld-3.0: Rename csr_roam_save_connected_infomation
Rename csr_roam_save_connected_infomation() to fix spelling error:
'infomation' -> 'information'

Change-Id: I24d92a1dec5aba7599e9e764be4933e52c1f1f52
CRs-Fixed: 2241945
2018-05-18 02:16:58 -07:00
Kiran Kumar Lokere
e43a458fdc qcacld-3.0: Fix the issue with LDPC disable
LDPC dynamic configuration setting is not updated into session
configuration hence LDPC disable do not happen when user disable
it. Update the session configuration parameters for LDPC with
user settings.

Change-Id: Ic0b5f2b17cde5746054f90d78d6c99624444d086
CRs-Fixed: 2235936
2018-05-17 11:34:42 -07:00
Jeff Johnson
265d6a7f23 qcacld-3.0: Fix misspelling of 'required'
Fix misspelling 'requried' => 'required'.

Change-Id: I97f4a5c5ed65b8652b9ae5c58683b6240299f58a
CRs-Fixed: 2241938
2018-05-16 18:01:22 -07:00
Jeff Johnson
3370f3a742 qcacld-3.0: Fix misspellings of 'success'
Fix misspellings
- success => success
- succesful => successful
- succesfull => successful
- succesfully => successfully

Change-Id: Ie74c59650c4784ac6df4599f38487eee90489b23
CRs-Fixed: 2241936
2018-05-16 18:01:12 -07:00
Jeff Johnson
c5927def57 qcacld-3.0: Fix misspellings of 'update'
Fix misspellings:
- udpated => updated
- udpate_type => update_type

Change-Id: I0481278e76a6482d0974d1730398cbcf633f4b08
CRs-Fixed: 2241929
2018-05-16 18:00:30 -07:00
Jeff Johnson
2a2fa1f17f qcacld-3.0: Fix misspellings of 'Utility'
Fix misspellings 'Utiltity' => 'Utility'.

Change-Id: Ib4a5a9e25b6a6316f52ea2b6f869fc976465fb68
CRs-Fixed: 2240060
2018-05-16 18:00:25 -07:00
Jeff Johnson
bbca3d503c qcacld-3.0: Fix misspellings of 'unknown'
Fix misspellings 'unknow' => 'unknown'

Change-Id: I7593ddf74df9c7917bd94819953ef0603c15a933
CRs-Fixed: 2240061
2018-05-16 18:00:20 -07:00
Jeff Johnson
7fa88f7970 qcacld-3.0: Fix misspelling of 'until'
Fix misspelling 'untill' => 'until'.

Change-Id: Ie5b8f8ffb1bbbea634978c4863b0dccf589cb37d
CRs-Fixed: 2240062
2018-05-16 18:00:16 -07:00
Himanshu Agarwal
d519b4ab08 qcacld-3.0: Release WM status change cmd after eWNI_SME_DISCONNECT_DONE_IND
When deauth is received from AP, while processing of deauth frame,
WM status change command is queued in SME command pending list with
priority set as true in which DEL_BSS and DEL_STA happens leading to
VDEV_STOP AND VDEV_DOWN correspondingly.

When disconnect is issued from upper layer, ROAM command with reason
eCsrForcedDisassoc gets queued in SME command pending list with priority
set as true which performs DEL_BSS nad DEL_STA and then
eSmeCommandDelStaSession SME command is queued with priority set as false
which performs DEL_SELF_STA.

If disconnect is issued from upper layer and deauth is received from AP at
the same time, it might happen that ROAM SME command and
eSmeCommandDelStaSession SME command gets queued in SME command pending
list but WM status change command gets queued on top of these as priority
is set to true before the former commands can be processed. While
processiing of WM status change command, eWNI_SME_DEAUTH_CNF msg gets
queued in SME message queue which queues WMA_DELETE_BSS_REQ in WMA msg
queue. If WM staus change command is released just after
eWNI_SME_DEAUTH_CNF is posted, it might happen that Roam and
eSmeCommandDelStaSession SME commands from SME command pending list gets
processed first which will queue WMA_DEL_STA_SELF_REQ in WMA msg queue
before eWNI_SME_DEAUTH_CNF gets processed and queue WMA_DELETE_BSS_REQ
in WMA msg queue. This leads to processing of WMA_DEL_STA_SELF_REQ before
WMA_DELETE_BSS_REQ causing assert as this is unexpected behaviour.

Release WM status change command only after eWNI_SME_DISCONNECT_DONE_IND
which happens after WMA_DELETE_BSS_REQ and WMA_DELETE_STA_REQ gets
processed so that ROAM and eSmeCommandDelStaSession SME commands gets to
process only after processing of DEL_BSS and DEL_STA and so
WMA_DEL_STA_SELF_REQ will always be processed after WMA_DELETE_BSS_REQ
avoidong system assert.

Change-Id: Iec0176fecf218e07f31b258c0dc52aefb480defe
CRs-Fixed: 2211622
2018-05-16 15:13:55 -07:00
Abhinav Kumar
7494819d8f qcacld-3.0: Do not flush disconnect command from sme on receiving connect
If disconnect command is in SME pending queue, when connect command
is received, the disconnect command is flushed and as SME is
already in connected state the new connect command is handled as
reassoc req and as no preauth was done with this new AP, SME does not
call proper HDD callback to indicate conenct failure. Thus HDD remains
stuck in connecting state leading to scans rejection.

To fix this do not flush disconnect command from SME on receiving
connect cmd and thus clean up the SME before connect is processed.

Change-Id: Icefe8866a24b332688c64d8e69a11642fd7215d9
CRs-Fixed: 2238873
2018-05-16 08:35:55 -07:00
Arif Hussain
0e24680997 qcacld-3.0: Add support to send A-MSDU aggregation type to firmware
Add support to send A-MSDU aggregation type to firmware.

Change-Id: Id97efa6b7ff658b11462f9d6b6c8e79107e5f128
CRs-Fixed: 2234350
2018-05-15 13:54:08 -07:00
Wen Gong
3f00338bf7 qcacld-3.0: Change WLAN_FEATURE_HDD_MEMDUMP_ENABLE
Change WLAN_FEATURE_HDD_MEMDUMP_ENABLE to WLAN_FEATURE_MEMDUMP_ENABLE

Change-Id: Id4ef8de4dc7b566f3b29b9e045c1530c873a426c
CRs-Fixed: 2241236
2018-05-15 10:05:40 -07:00
Vignesh Viswanathan
a2f5ce580a qcacld-3.0: Validate channel list from ioctl before sending to fw
Currently the channel list received from the SETROAMSCANCHANNELS
driver command is passed directly to the FW without checking if it
contains any invalid channels leading the firmware to assert if the
list contains unsupported channels.

Validate the channel list received from the ioctl with the base
channel list and send to firmware only if all the channels in
the list are valid

Change-Id: Ia502eecb97e34de854a75a6af7ffb8ccc02a7e52
CRs-Fixed: 2231242
2018-05-15 04:33:46 -07:00
Vignesh Viswanathan
4e65e8eab6 qcacld-3.0: Acquire SME lock before csr_roam_offload_scan from SME
In a scenario where the below two HDD commands are executed at the
same time from different threads
1. Disconnect which does an RSO Stop and free the pCurRoamProfile
2. Set Blacklist BSSID which does and RSO Update and accessed
the pCurRoamProfile
pCurRoamProfile is accessed in the function csr_roam_offload_scan
after is freed from the other context.
The Disconnect command from HDD is protected under the global SME lock,
however, the set blacklist BSSID path is not protected under SME lock.
There are multiple instances where csr_roam_offload_scan is called
without the SME lock which could lead to similar issues.

Acquire SME lock before csr_roam_offload_scan from callers in
SME/HDD which can be from other threads.

Change-Id: I9666bab0001b56ec01dcf1df0becb36344fb6f9a
CRs-Fixed: 2226423
2018-05-14 20:15:42 -07:00
hqu
8f0dd69415 qcacld-3.0: Use session_id param for csr_roam_offload_scan
When Pre-Auth is failed, it will go to ROAM_SCAN_OFFLOAD_START
or ROAM_SCAN_OFFLOAD_RESTART process, it always uses zero as
session_id param for csr_roam_offload_scan, it's wrong, session_id
should be variable value.

Fix is to use variable session_id param for csr_roam_offload_scan.

Change-Id: Iaf5f234dc73001440aaf02d7931c7891903f9148
CRs-Fixed: 2239812
2018-05-14 12:50:43 -07:00
Arif Hussain
186d7a008c qcacld-3.0: Fix buffer overwrite in csr_roam_diag_joined_new_bss()
Fix possible buffer overwrite in csr_roam_diag_joined_new_bss function.

Change-Id: Icf4a39e0a2a291f1c084353985aa7952e3c8e136
CRs-Fixed: 2233033
2018-05-14 12:50:39 -07:00
gaurank kathpalia
c63859d9f0 qcacld-3.0: Send RSN caps in RSO command
Association request initiated by the host contains
the RSN capabilities which contains both the flags
of PMF, i.e PMF required and PMF capable. The DUT
may connect to a non PMF AP or only a PMF capable AP,
if the DUT is PMK capable and not PMF required,
but connection to a non PMF AP isnt allowed
if the DUT is configured as PMF required.
In the Association request, the DUT advertises its
RSN capabilities, and accrding to them, the connection
(PMF/non PMF) happens. But these capabilities arent
sent to the firmware, so while roaming, the DUT may
connect to a non-PMF AP, as in the re-assoc request
the DUT would still advertise PMF-REQUIRED as false,
which would be violation of protocol.

Fix is to send these RSN capabilities to the
firmware as part of roam scan offload params,
to have firmware save the configuration, and
send the RE-assoc request with PMF required as
true, if the DUT supports PMF required.

Change-Id: Iff58f7ba3b2fee7a834bd625225bbb3d62f33557
CRs-Fixed: 2234977
2018-05-14 10:26:21 -07:00
Bala Venkatesh
7cf5b66a92 qcacld-3.0: Fix NULL pointer access in sme_set_wlm_latency_level
'wma' pointer is initialized using the return value of
cds_get_context;This function can return NULL value.

Check for NULL pointer before dereferencing the 'wma'.

Change-Id: I529a34fba91f19bdd6c62d14e97cfabb476cdf7f
CRs-Fixed: 2239647
2018-05-12 07:45:34 -07:00
Srinivas Girigowda
eb6ecf3f96 qcacld-3.0: Consistently use policy_mgr_dual_mac_config
Remove duplicate structs wmi_dual_mac_config and sir_dual_mac_config
and use policy_mgr_dual_mac_config.

Change-Id: I6da6539f519ec46ee274ba3f3ae042e5fd9c25d2
CRs-Fixed: 2190993
2018-05-12 04:31:13 -07:00
Arif Hussain
3b7ed833f2 qcacld-3.0: Fix tCsrRoamConnectedProfile initialization
Use correct size to mem zero tCsrRoamConnectedProfile
In csr_roam_save_ndi_connected_info() function.

Change-Id: I54d2bef0bd9202971dff47f9b25d43ff40258630
CRs-Fixed: 2232891
2018-05-12 04:31:08 -07:00
Jeff Johnson
33142e6fb6 qcacld-3.0: Fix typo "doesnt"
Replace typo "doesnt" with correct spelling "doesn't".

Change-Id: Ic3063f9fe74e10f656e00e86c8f38ccf1132f22d
CRs-Fixed: 2238297
2018-05-12 04:30:58 -07:00
Jeff Johnson
810596ad7a qcacld-3.0: Fix typo "paramter"
Replace typo "paramter" with correct spelling "parameter".

Change-Id: I3f6f090a4f5348f64241e08c87b9bcd342696e10
CRs-Fixed: 2238297
2018-05-12 04:30:19 -07:00
Jeff Johnson
11d7c9db98 qcacld-3.0: Fix typo "occured"
Replace typo "occured" with correct spelling "occurred".

Change-Id: I4d64bee7c9c929b4e7fce0c17d98136cff737fc4
CRs-Fixed: 2238297
2018-05-12 04:29:09 -07:00
Jeff Johnson
fe8e9497e9 qcacld-3.0: Fix typo "lenght"
Replace typo "lenght" with correct spelling "length".

Change-Id: I227fe599d88c68982dd102f71c0bad30cd5d93cf
CRs-Fixed: 2238297
2018-05-12 04:29:06 -07:00
Jeff Johnson
60ed45a086 qcacld-3.0: Fix typo "paramters"
Replace typo "paramters" with correct spelling "parameters".

Change-Id: I13d41a0092666bc89743b9beb03e0253e6b613fc
CRs-Fixed: 2238297
2018-05-12 04:28:56 -07:00
Jeff Johnson
fa7d9601ef qcacld-3.0: Fix typo "seperate"
Replace typo "seperate" with correct spelling "separate".

Change-Id: Ic2e69d5a15366c0c2fe57d2f378cac0e11228f8e
CRs-Fixed: 2238297
2018-05-12 04:28:53 -07:00
Jeff Johnson
9020f0c390 qcacld-3.0: Fix typo "mangement"
Replace typo "mangement" with the correct spelling "management".

Change-Id: Ie9c993096ec9bc774a59caee0f3730b7be2b1372
CRs-Fixed: 2238297
2018-05-12 04:28:46 -07:00
Vignesh Viswanathan
ad47f0a2a8 qcacld-3.0: Modify callers of ObjMgr APIs to include pdev_id
wlan_objmgr_get_vdev_by_macaddr_from_psoc and wlan_objmgr_get_peer
API's definitions have been changed to include pdev_id as an
argument.

Modify the callers of these APIs to include pdev_id as argument.

Change-Id: I3d0de6a0bc1dfefbe1b3cad51ec23f703baaf3ad
CRs-Fixed: 2210728
2018-05-09 01:44:33 -07:00
Abhinav Kumar
19f593962f qcacld-3.0: Add comment between cases in switch statement
Add /* fallthrough */ comment in sme_qos_add_ts_failure_fnp
as per linux checkpatch script in case of reason
SME_QOS_REASON_REQ_SUCCESS of flow request.

Change-Id: I6ea942e53cd6f0828dbe55cfdd77ecf75cf1cdbb
CRs-Fixed: 2233176
2018-05-08 13:47:19 -07:00
Wen Gong
aa6d55d9e7 qcacld-3.0: Add hdd memory dump feature flag
Add config flag to enable / disable hdd memory dump feature

Change-Id: Id2994f72b595096459e65ef4da5381d6eb3b476b
CRs-Fixed: 2231695
2018-05-06 23:12:29 -07:00
Sandeep Puligilla
af8b633fcb qcacld-3.0: Add validation check for Access category
Add validation check for access category in
sme_qos_find_matching_tspec_lfr3() API.

Change-Id: I93cf061aabf207ea826009d81f457dbb966e2167
CRs-Fixed: 2232750
2018-05-04 20:42:55 -07:00
Rajeev Kumar
9176ca4778 qcacld-3.0: Optimize console logging during cfg80211 suspend
During cfg80211 suspend there are couple of redundant log messages
which are logged on console. Change the log level to debug to avoid
logging them on console.

Change-Id: Id45cc261ec7c2c1397afa746216b090fc5d34d7a
CRs-Fixed: 2235798
2018-05-03 21:51:05 -07:00
Naveen Rawat
c3411bbdf8 qcacld-3.0: Fix null pointer dereference in SAP state fsm
Add a check against for NULL pointer before accessing roam_info
object pointer.

Change-Id: Id03a47761fa9624ddf76305f110f1f83bcb0a7cd
CRs-Fixed: 2232419
2018-05-03 18:33:03 -07:00
Abhinav Kumar
875cf2d24f qcacld-3.0: Add comment between cases in switch statement
Add /* fallthrough */ comment in sme_qos_add_ts_success_fnp
as per linux checkpatch script in case of reason
SME_QOS_REASON_REQ_SUCCESS of flow request.

Change-Id: I6285ccdc74e5c19fb9bbb8a1b9e0dec5e54edc6e
CRs-Fixed: 2233179
2018-05-03 14:03:33 -07:00
wadesong
d547766258 qcacld-3.0: Refine CSR scan related action sequences
1) In csr_start, CSR module's scan callback function is currently
registered after scan is enabled. This can result in a potential
memory leak of the per-session CSR scan profile's child buffers
when the following events take place in sequence:

    (1) CSR scan is enabled
    (2) Upper layer invokes CSR module for scan requests
        (per-session CSR scan profile's child buffers are
        allocated here)
    (3) Scan finished, but no CSR callback is registered to
        handle it so the previously allocated child buffers
        are leaked
    (4) CSR scan callback function is registered later, but
        it's already too late

Move the CSR scan enabling code to a place after CSR scan
callback is registered to fix the potential memory leakage.

2) CSR scan should be stopped before sessions are closed, and
session init code should not re-enable CSR scan again during
session clean up stage. Or there will be another chance for
the same issue as in 1) to happen again.

3) CSR scan callback function should be deregistered before
a session is closed and cleaned up.

4) Per-session CSR scan profile pointer should be checked
during session clean up and its buffer and child buffers
should be freed to avoid any potential memory leak.

Change-Id: I99101170a58f63b239db620dea01d210e83d9367
CRs-Fixed: 2228321
2018-04-26 04:07:24 -07:00
Jeff Johnson
5d310d2a15 qcacld-3.0: sme: Remove legacy markings
Per current guidance remove legacy markings.

Change-Id: I0f45085f6a98b89a4468849ac00538100d903698
CRs-Fixed: 2229655
2018-04-24 14:48:34 -07:00
Paul Zhang
33fae2710d qcacld-3.0: Config number of TX sw retry per AC
Video/audio wireless application needs to tune parameters
per AC based. Config the number of TX sw retry per AC via
driver INI configuration file. It helps to improve the
video/audio performance in noisy environment.

Change-Id: Icffb5174b265b6453021b0d0a8ad3e12b695847a
CRs-Fixed: 2212954
2018-04-24 04:26:06 -07:00