Commit Graph

10173 Commits

Author SHA1 Message Date
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
Jeff Johnson
00634ab05b qcacld-3.0: Fix misspelling of 'valid'
Fix misspelling 'vaild' => 'valid'

Change-Id: I48db34267b23ea06206a44f523bb9087fd997a10
CRs-Fixed: 2240063
2018-05-16 18:00:12 -07:00
Jeff Johnson
6548503053 qcacld-3.0: Fix misspelling of 'virtual'
Fix misspelling 'virtaul' => 'virtual'

Change-Id: I51517b1a879bae1adcbe90a75043198d9352c27b
CRs-Fixed: 2240064
2018-05-16 18:00:08 -07:00
Jeff Johnson
e8474a0059 qcacld-3.0: Fix misspelling of 'weird'
Fix misspelling 'wierd' => 'weird'.

Change-Id: Id054d9f273e1fe5771e1bd20b897dd610831266c
CRs-Fixed: 2240066
2018-05-16 18:00:04 -07:00
Jeff Johnson
37df7c3d8f qcacld-3.0: Fix misspelling of 'want'
Fix misspelling 'wnat' => 'want'

Change-Id: I05468a6203c482b71ab0dba3e6d4177ddf66686d
CRs-Fixed: 2240067
2018-05-16 18:00:00 -07:00
Jeff Johnson
be7f4fd08f qcacld-3.0: Fix misspellings of 'address'
Fix misspellings:
'addres' => 'address'
'addresss' => 'address'
'addreses' => 'addresses'

Change-Id: Ife5dc638af74ce55dde4402746112d8d8ef13711
CRs-Fixed: 2241928
2018-05-16 17:59:57 -07:00
nshrivas
412c6b2eff Release 5.2.0.78O
Release 5.2.0.78O

Change-Id: Iae06030f2c6ba770efcefe12c1f15d2d89b6cc00
CRs-Fixed: 774533
2018-05-16 15:14:04 -07:00
Vignesh Viswanathan
5b909f56aa qcacld-3.0: Fix freeing of SAP PE session lim_send_sme_disassoc_ntf
When a peer connected to a SAP session triggers disconnect,
lim_send_sme_disassoc_ntf is called with the reason
eLIM_PEER_ENTITY_DISASSOC. This leads to the PE sesssion for the SAP
being freed as part of the lim_send_disconnect_done_ind added in the
change Iec0176fecf218e07f31b258c0dc52aefb480defe.

Modify the lim_send_disconnect_done_ind API to just prepare the
disconnect done indication message and the calling function
lim_send_sme_disassoc_ntf would send the notification to SME and
free the PE session only if the current session is a STA.

Change-Id: I377f86f10becd467417d4c6409d167020e26fe87
CRs-Fixed: 2241899
2018-05-16 15:14:02 -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
nshrivas
4d3453a34b Release 5.2.0.78N
Release 5.2.0.78N

Change-Id: I9b1e3c4a75e8112b0bb7f64e15c4ec81b10c74eb
CRs-Fixed: 774533
2018-05-16 13:44:47 -07:00
Abhishek Singh
1571ca7cc0 qcacld-3.0: Add support to set antenna mode for SAP
Add support to set antenna mode for SAP using iwpriv commands
set_txchainmask and set_txchainmask.

Change-Id: Id74d8caf6b2d48b0afbcc3791bd347d6addd2e7d
CRs-Fixed: 2239648
2018-05-16 13:44:45 -07:00
jitiphil
31cf1ba577 qcacld-3.0: Invalid checks for operating channel validation
Inside hdd_ndi_create_req_handler(), we need to check if
the operating channel is valid. The current checks do
not ensure the operating channel is checked against all
valid values.

Correct the check condition to validate the operating
channel against all valid values.

Change-Id: I01c035b996ab26779ee005bef437393875fdd95a
CRs-Fixed: 2233118
2018-05-16 13:44:39 -07:00
Alok Kumar
f70f79a9eb qcacld-3.0: Fix inadvertent logic error in htt_tx_desc_init
Currently, "channel_freq" is declared as uint16_t. But
htt_get_channel_freq returns "int" which is assigned to
"channel_freq". So, channel_freq != -1 is always true
regardless of the values of its operands.

Declare "channel_freq" as int and add the check if
channel_freq is positive.

Change-Id: I13ae35c1bee3cdf293227e320ede8d8cd2e968fe
CRs-Fixed: 2233556
2018-05-16 13:44:34 -07:00
nshrivas
825d101c45 Release 5.2.0.78M
Release 5.2.0.78M

Change-Id: Ibc9a4393c9ab1161fe2151acef18cf38e6aaa1a9
CRs-Fixed: 774533
2018-05-16 12:13:12 -07:00
Alok Kumar
b5a33a25cb qcacld-3.0: Fix missing break statement issue in between switch cases
Here the case is designed to fall through to the next case. So,
add a /* fallthrough */ comment where the break is expected.

Change-Id: Ide5b530c9b817a269fcee4ece679476930797ae7
CRs-Fixed: 2233186
2018-05-16 12:13:11 -07:00
Yun Park
e74e6090f6 qcacld-3.0: Remove wake_lock and rm_lock when WDI_UNIFIED_API defined
IPA RM is not used when WDI_UNIFIED_API is defined.
Remove to use wake_lock and rm_lock, which are created from RM setup.

Change-Id: I6c614fde7d6d7f0ab94aa9933578f3dca814a40e
CRs-Fixed: 2231424
2018-05-16 12:13:05 -07:00
nshrivas
1924919d6c Release 5.2.0.78L
Release 5.2.0.78L

Change-Id: I5e8820e00da68d1f427aed3e58d3c345e39f24f4
CRs-Fixed: 774533
2018-05-16 10:26:17 -07:00
Sravan Kumar Kairam
adbff87a09 qcacld-3.0: Fix possible OOB access in ol_rx_reorder_detect_hole
Currently tid is extracted from HTT message and it is used without
check. This may cause possible OOB array read. To address this add
check for valid tid.

Change-Id: Idb03236e05fe43326f9ab46ae8368adc9a92d92a
CRs-Fixed: 2225497
2018-05-16 10:26:17 -07:00
gaurank kathpalia
24e5b21555 qcacld-3.0: Remove off-by-one write condition in sch_beacon_process
In the API, the driver inserts 0 after the SSID name, to mark the
end of the ssid, but if the SSID name is 32 characters which is
the max SSID length possible, the driver puts 0 at the 33rd
place of memory which is not the part of the SSID name, which
results in OOB write, or off-by-one write condition.

Fix is to remove the addition of 0 after ssid, as in every
case the driver prints the ssid, taking the ssid length
as the input, and in that case insertion of 0 will not serve
any purpose.

Change-Id: I1d58026ec9f48fe9d00bd2f50783c65899588978
CRs-Fixed: 2232526
2018-05-16 10:26:12 -07:00
Yeshwanth Sriram Guntuka
011904f038 qcacld-3.0: Possible buffer overflow in wma_nan_rsp_event_handler
Check for nan rsp data len does not take TLV header
size into account which could lead to buffer overflow
when copying data where TLV header size is taken into
account.

Fix is to subtract TLV header size and wmi_nan_event_hdr
size from max allowed size when validating nan rsp data
length.

Change-Id: I341779a33ed218fdda5d008e949ced0c8cf05590
CRs-Fixed: 2227248
2018-05-16 10:26:06 -07:00
nshrivas
e4a5114687 Release 5.2.0.78K
Release 5.2.0.78K

Change-Id: Ie2ce63ffd645504d88a671f58320b1045e6157c9
CRs-Fixed: 774533
2018-05-16 08:36:02 -07:00
Pragaspathi Thilagaraj
9b7a116a9a qcacld-3.0: Fix possible integer overflow in lim
In the function lim_process_sme_update_access_policy_vendor_ie,
update_vendor_ie is parsed from the incomming msg. num_bytes is
the length of the IE and is retrived as
update_vendor_ie->ie[1]+2. This num_bytes value is used as the
size to copy the IE to pe_session_entry->access_policy_vendor_ie
The update_vendor_ie->ie[1] can have a maximum value of
SIR_MAC_MAX_IE_LENGTH . As the num_bytes is of uint8_t,a
possible integer overflow can occur in
lim_process_sme_update_access_policy_vendor_ie when num_bytes is
assigned with update_vendor_ie->ie[1].

Change the data type of the num_bytes to uint16_t so that it can
hold the value of update_vendor_ie->ie[1] without truncation.

Change-Id: I05c7e83a741bf1c9c0707be51f97eae9eff1ac97
CRs-Fixed: 2235044
2018-05-16 08:36:00 -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
nshrivas
c69064917f Release 5.2.0.78J
Release 5.2.0.78J

Change-Id: I500fad94e18955db0883ceece3d6e6a05efaf51f
CRs-Fixed: 774533
2018-05-16 06:46:27 -07:00
Min Liu
31c601d2d6 qcacld-3.0: Reset FW peer count when HO failed
For LFR 3.0, when HO failed, peer deletion is handled by FW,
No WMI_PEER_DELETE_CMDID will be sent to FW.
Reset the peer counter when HO failure is reported.

Change-Id: I07cecf3166f40d2bd103a286e4556f95d7465bba
CRs-Fixed: 2240059
2018-05-16 06:46:25 -07:00
Arif Hussain
458ad46ea8 qcacld-3.0: Reduce log level in lim_detect_change_in_ap_capabilities()
To avoid excessive console logging reduce log level from warn
to debug in lim_detect_change_in_ap_capabilities function.

Change-Id: I72fdd2b8ac1ce647480ab1eb164fb65079da3784
CRs-Fixed: 2240699
2018-05-16 06:46:19 -07:00
Sravan Kumar Kairam
2be2792e2e qcacld-3.0: Fix possible OOB issue in ol_tx_desc_update_group_credit
Currently tx desc id is extracted from HTT message and it is used
without check. This may cause possible OOB array read. To address
this add check for valid tx desc id.

Change-Id: I121fc4d550aa587f00ec315e3a20dfb136f4d7af
CRs-Fixed: 2225461
2018-05-16 06:46:13 -07:00
nshrivas
8bc7fe7172 Release 5.2.0.78I
Release 5.2.0.78I

Change-Id: I5e826eba5acb47d59d17ccc5f2d561110abcdd39
CRs-Fixed: 774533
2018-05-16 03:57:12 -07:00
Visweswara Tanuku
02e40d282a qcacld-3.0: Do proper cleanup when management frame send failed
qcacld-2.0 to qcacld-3.0 propagation

When Management frame Tx fails, tx_frm_ota_comp_cb is not set NULL
during cleanup, because of which assert is observed since session
is not available

Set tx_frm_ota_comp_cb NULL when Management frame tx fails

Change-Id: I318a6d04cce06955f6751f6f3df746fec50b9434
CRs-Fixed: 2127855
2018-05-16 03:57:10 -07:00
nshrivas
e1c4b636dd Release 5.2.0.78H
Release 5.2.0.78H

Change-Id: I72e0d4ff6e9fb948c39ede1dd1a93edd085f6a66
CRs-Fixed: 774533
2018-05-16 02:07:40 -07:00
Vignesh Viswanathan
f0ef774994 qcacld-3.0: Remove unused scan_info struct in wma_txrx_node
Remove the unused member scan_info in wma_txrx_node structure.

Change-Id: Ice2c3209620ac7fd9874680b2d976ca363d22695
CRs-Fixed: 2239807
2018-05-16 02:07:38 -07:00
nshrivas
cf21ba8567 Release 5.2.0.78G
Release 5.2.0.78G

Change-Id: Ieb10d9be6dcfc190eb0382ee64a8f5dfe1cba321
CRs-Fixed: 774533
2018-05-15 20:56:36 -07:00
Arif Hussain
0627e2ff4e qcacld-3.0: Refactor lim_process_mlm_deauth_ind()
Add missing break and other minor indentation fix and cleanup.

Change-Id: Ic5c33300a686a0767c593ec19cdc0c4f5dcee17c
CRs-Fixed: 2232878
2018-05-15 20:56:34 -07:00
Visweswara Tanuku
006313a221 qcacld-3.0: Add boundary check for setMonChan command
qcacld-2.0 to qcacld-3.0 propagation

Add channel and bandwidth validation check for
setMonChan iwpriv command.

Change-Id: I1be22799a46e3ec30cfe384563ecb8a5404d9f6a
CRs-Fixed: 2139911
2018-05-15 20:56:27 -07:00
Abhishek Singh
0ac37445d5 qcacld-3.0: Call vdev resp and hold req queue cleanup from MC thread
Vdev resp and hold req queue cleanup is called in kernel thread context
and this may lead to race condition where it may free the wma's iface
structure while MC thread is using the iface.

In case FW down is received during interface delete, driver complete wait
events and thus the interface delete remove the adapter before del sta
self resp is received and thus del sta self resp uses adapter after its
freed.

To avoid this call the vdev resp and hold req queue cleanup from MC
thread. Also call del sta self resp only when driver unload is in
progress. For FW down case the resp is not required.

Change-Id: I711f83c54df29251de365a3137077b3b8d82b448
CRs-Fixed: 2234547
2018-05-15 20:56:20 -07:00
Arif Hussain
cb312923a2 qcacld-3.0: Fix buffer overwrite in lim_mlm_add_bss()
Fix buffer overwrite in lim_mlm_add_bss() by adding
validation check.

Change-Id: I67b8b63b6de33390ee5288fc6f6cef52f9203c1f
CRs-Fixed: 2233036
2018-05-15 20:56:11 -07:00
nshrivas
1c45990657 Release 5.2.0.78F
Release 5.2.0.78F

Change-Id: If7a697e043aaa46f25dc2143e2e39e36d99bdb81
CRs-Fixed: 774533
2018-05-15 19:05:35 -07:00
Rajeev Kumar Sirasanagandla
8413a48db3 qcacld-3.0: Avoid info leak in IOCTL CCXBEACONREQ
While processing IOCTL - CCXBEACONREQ, when number of
beacon request IEs is zero, respective handler drv_cmd_ccx_beacon_req()
is trying to log measurement token from un-initialized struct variable
ese beacon request, which results in kernel info disclosure.

To fix this, initialize stack variable ese beacon request and return
error in disconnected state when number of beacon request IEs is zero.

Change-Id: I4b0a8c673f9ca92e8699a157b24a100bb0cffa83
CRs-Fixed: 2225338
2018-05-15 19:05:32 -07:00
bings
0e03a98d21 qcacld-3.0: Stop and flush data when radar is found
Do not send data packets when radar is found

Change-Id: Icd7c042099cc4431cb836d0fcc3d10ad7db5982f
CRs-Fixed: 2237858
2018-05-15 19:05:23 -07:00
gaurank kathpalia
18b4936767 qcacld-3.0: Fix out of bound write in mcs_set
The driver fills the mcs set array in
hdd_update_tgt_ht_cap for all rf chains
and does not have a upper boundary check to
cfg->num_rf_chains, which could lead
to out of bound write a valid value
to a memory which not allocated to mcs set

Fix is to have a check to cfg->num_rf_chains

Change-Id: Ibeb5e783e2369ebee1bbf3fc724d06736c174c69
CRs-Fixed: 2221902
2018-05-15 19:05:15 -07:00
nshrivas
711ffa7d70 Release 5.2.0.78E
Release 5.2.0.78E

Change-Id: Ic4d80c2149d388ac04a2cd3b76c7281e7d87a007
CRs-Fixed: 774533
2018-05-15 15:37:51 -07:00
Tang Yingying
5a4ccf208e qcacld-3.0: Set RPS CPU mask when t-put is high
The default value of /sys/class/net/xx/queues/rx-x/rps_cpus is 0,
It means that the RX thread and soft IRQ will run on same core.
In 8996AU, the t-put will be impacted by the default value 0 both
in LTE and WLAN interface. Add support to set WLAN RPS CPU mask when
there is high t-put requirement of WLAN to improve the performance.

Change-Id: I10127a763b768a29b25041070f3ea7b3f6769289
CRs-Fixed: 2195721
2018-05-15 15:37:49 -07:00
Hanumanth Reddy Pothula
3048c93707 qcacld-3.0: Avoid buffer overread while processing set pno IOCTL
While processing set pno IOCTL, input argument 'extra' is printed
without making sure it's NULL terminated.

Log input string 'extra' after making sure it's NULL terminated.

Change-Id: I4158103a85c0828dad240cf00b34da94e6a8cc62
CRs-Fixed: 2228601
2018-05-15 15:37:42 -07:00
nshrivas
3ee63bc05c Release 5.2.0.78D
Release 5.2.0.78D

Change-Id: I32f27a58010af402eb5bbca520fdb1acc75d572b
CRs-Fixed: 774533
2018-05-15 13:54:21 -07:00
jiad
629b21762e qcacld-3.0: Refine WLAN IPA event record
Use QDF_IPA_WLAN_EVENT_MAX instead of IPA_WLAN_EVENT_MAX to record
WLAN event to IPA.

Also record QDF_SWITCH_TO_MCC/SCC and QDF_WDI_ENABLE/DISABLE event.

Change-Id: Iada6c39d2b952f6b9a1690a86c5871d2ca588cd2
CRs-Fixed: 2240425
2018-05-15 13:54:21 -07:00
Min Liu
fad99adc80 qcacld-3.0: Correct AssocId range when stop BSS
In __lim_handle_sme_stop_bss_request, it will try to disassociate
STAs of which AssocId is from 1 to pMac->lim.gLimAssocStaLimit - 1.
However, valid range of AssocId should be from 1 to
pMac->lim.gLimAssocStaLimit. This will cause STA and peer leakage
when there is an STA using AssocID equal to pMac->lim.gLimAssocStaLimit.
Update the uppper limit to pMac->lim.gLimAssocStaLimit accordingly.

Change-Id: Ifec315c0ae69f8b93ce8b87601cca7cc13c6bc88
CRs-Fixed: 2230757
2018-05-15 13:54:17 -07:00
Manjunathappa Prakash
7ed5ef5d16 qcacld-3.0: Get txrx_pdev context from global cds_context
__hdd_tx_timeout passes cdp_soc context dump_flow_pool_info callback
function. Lithium_dp interchangeably use cdp_soc and dp_soc as cdp_soc is
first element of dp_soc.
Same is not valid for iHelium datapath, do not expect caller to pass
the txrx_pdev context, instead get it from global cds_context.

Change-Id: I64932fefd1294275608258df49544135d3a0562c
CRs-Fixed: 2240099
2018-05-15 13:54:12 -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
jiad
c908ada056 qcacld-3.0: Fix IPA AP-AP interface setup failure
IPA component needs to discard repetitive start_bss event in
case SAP is on DFS channel. Issue is we checked against
available SAP interface and this will lead to second SAP
interface setup failure.

Fix is to check against same SAP interface to see if it has
already been setup.

Change-Id: I2fc3656f5e1fba39dba14dba137c6202c5ec5af0
CRs-Fixed: 2240368
2018-05-15 13:54:03 -07:00