Commit Graph

5170 Commits

Author SHA1 Message Date
Jeff Johnson
a6e61b197b qcacld-3.0: Avoid buffer overread when parsing PNO commands
There are currently three issues which can result in a buffer overread
when processing PNO vendor commands:

1) __wlan_hdd_cfg80211_set_passpoint_list() specifies the wrong policy
   when invoking nla_parse().
2) hdd_extscan_passpoint_fill_network_list() does not specify a policy
   when invoking nla_parse().
3) __wlan_hdd_cfg80211_set_epno_list() specifies a policy but not all
   of the attributes that are parsed are present in the policy.

To prevent buffer overread:
1) Update __wlan_hdd_cfg80211_set_passpoint_list() and
   hdd_extscan_passpoint_fill_network_list() to use the policy
   wlan_hdd_pno_config_policy.
2) Update wlan_hdd_pno_config_policy to contain all the fixed-length
   attributes needed by __wlan_hdd_cfg80211_set_passpoint_list(),
   hdd_extscan_passpoint_fill_network_list(), and
   __wlan_hdd_cfg80211_set_epno_list().

Change-Id: I4a20e77ce87967ae78323b83a2aa9085fed2647f
CRs-Fixed: 2054770
2017-06-20 20:11:35 -07:00
snandini
8c251e148e Release 5.2.0.30X
Release 5.2.0.30X

Change-Id: I9e1d5527cfe84d96e722de6487a7d043f4a541e7
CRs-Fixed: 774533
2017-06-20 19:36:18 -07:00
Nachiket Kukade
d45ab8c7c3 qcacld-3.0: Release spinlock before returning from error
While freeing ROC request nodes from the linked list a spinlock is
acquired. But it is not released if the API to remove node returns
failure. This will end up in a deadlock.

Release spinlock before returning from error.

Change-Id: I30281cc358b4827e59325554859c3dcffe6292b0
CRs-Fixed: 2042713
2017-06-20 19:36:18 -07:00
wadesong
1885d2c685 qcacld-3.0: Add ipa_uc_rx_ring_elem_t for 32-bit platform
ipa_uc_rx_ring_elem_t structure is platform specific and current
definition cannot be used on 32-bit ARM platform where IPA 3.5
is attached. Add IPA 3.5 and 32-bit ARM compatible structure to
avoid IPA crash when data traffic is running

Change-Id: Ia5c141c9405675a64f59ba4c09f1ffd911158c9b
CRs-Fixed: 2046905
2017-06-20 19:36:16 -07:00
snandini
28fbb56b5d Release 5.2.0.30W
Release 5.2.0.30W

Change-Id: I5647eba9ceffcccc2cfb0150bca92f3ff33ac712
CRs-Fixed: 774533
2017-06-20 17:52:13 -07:00
Kapil Gupta
63e7528680 qcacld-3.0: Correct vendor attribute for external ACS
Add changes to correct vendor attribute to support external
ACS as defined in qca-vendor-copy.h

Change-Id: Ia09638f59aeea4d87bbd6d4f9ab03210a213a132
CRs-Fixed: 2049157
2017-06-20 17:52:13 -07:00
snandini
321ceb6f1f Release 5.2.0.30V
Release 5.2.0.30V

Change-Id: Ic1f9d47c44de8a8a51c48af0ce39ca6e977d8592
CRs-Fixed: 774533
2017-06-20 16:17:39 -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
snandini
45047763df Release 5.2.0.30U
Release 5.2.0.30U

Change-Id: I6f470e32f20991899136cfd2f76ddeceed3197fc
CRs-Fixed: 774533
2017-06-20 14:06:39 -07:00
bings
bdcd4a2f94 qcacld-3.0: Fix cfg80211_get_bss calling when IEEE80211_PRIVACY defined
When IEEE80211_PRIVACY is defined, cfg80211_get_bss should be called with
IEEE80211_BSS_TYPE_ESS as ieee80211_bss_type and IEEE80211_PRIVACY_ANY as
ieee80211_privacy

Change-Id: I28154ab45a7143f485824d6884c630315d47d0c7
CRs-Fixed: 2063345
2017-06-20 14:06:39 -07:00
snandini
8b7b764315 Release 5.2.0.30T
Release 5.2.0.30T

Change-Id: I6561f9be97e699594967d1d4790923dffb92f69e
CRs-Fixed: 774533
2017-06-20 05:51:16 -07:00
Ashish Kumar Dhanotiya
470af29603 qcacld-3.0: Add ini support to disable scan in connected state
Currently there is no ini parameter to disable the scanning if
the device is already connected.

Add ini parameter to support this feature.

Change-Id: I0f57be99ea335823c30a058d166b126d787e4461
CRs-Fixed: 2054521
2017-06-20 05:51:16 -07:00
snandini
937e8e6864 Release 5.2.0.30S
Release 5.2.0.30S

Change-Id: Idb5cac4d05f3e6e08a734f83c97b1dcac02e7266
CRs-Fixed: 774533
2017-06-20 05:05:59 -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
snandini
8074370d08 Release 5.2.0.30R
Release 5.2.0.30R

Change-Id: I9a3ae9ca237c0e9d25f264cb5b648b5600b26dd3
CRs-Fixed: 774533
2017-06-20 04:11:09 -07:00
Abhishek Singh
af639b45bd qcacld-3.0: Set proper sec channel offset if CSA Wide BW IE is present
If CSA Wide BW IE is present the sec channel offset is always set to
csa_params->sec_chan_offset which is always 0 and thus for next CSA the
BW will always be set to 20 MHz.

To fix this set proper sec channel offset if CSA Wide BW IE is present.

Change-Id: I813b04683cbce3f4f933562c23511de92ce4bcef
CRs-Fixed: 2062475
2017-06-20 04:11:09 -07:00
snandini
ec69dbfc59 Release 5.2.0.30Q
Release 5.2.0.30Q

Change-Id: I9d5ed888fcf098571c14e28256705cc6c63fe61e
CRs-Fixed: 774533
2017-06-20 03:30:37 -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
snandini
f7b7d3a779 Release 5.2.0.30P
Release 5.2.0.30P

Change-Id: Ifcc2b5cc7bb9e1c5e757cbf8980ddc490d330e29
CRs-Fixed: 774533
2017-06-20 01:13:11 -07:00
Sandeep Puligilla
2a206c568a qcacld-3.0: Add NULL IE check
Beacons with NULL IE's are triggering crash
in framework.

Add condition check in WMA to drop beacons
with NULL IE.

Change-Id: Ie28cd513713668334a77a2e8f5f345d79f68fcb5
CRs-Fixed: 2047525
2017-06-20 01:13:11 -07:00
Sandeep Puligilla
4a58f7f2a5 qcacld-3.0: Drop the beacons from NAN devices
Beacons from NAN devices triggering crash in framework.

Don't update the NL with the NAN device beacons.
Drop NAN device beacons in WMA before processed by PE.

Change-Id: I754591459d7a02848454d506b85847b1993aac53
CRs-Fixed: 2047525
2017-06-20 01:13:09 -07:00
snandini
4b7e04558a Release 5.2.0.30O
Release 5.2.0.30O

Change-Id: Ib322c49d16b18406b9db029296b2c1dc94cb3a95
CRs-Fixed: 774533
2017-06-19 22:30:31 -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
snandini
cb771c4a16 Release 5.2.0.30N
Release 5.2.0.30N

Change-Id: I9dca295e42a4adf881228fa1acf7705a576df704
CRs-Fixed: 774533
2017-06-19 20:10:45 -07:00
Kiran Kumar Lokere
5798bfac82 qcacld-3.0: Send beacon template after the vdev restart response
Vdev restart cmd is sent in vdev stop response handler during the
hidden ssid restart process. Lim sends beacon template cmd after it
sends the hidden ssid restart cmd so beacon template is sent to FW
after the vdev stop cmd and before the vdev restart cmd as vdev
restart is sent during vdev stop response handler.

Send the beacon template after vdev restart is successful during
the hidden ssid restart process.

Change-Id: Ia75bde4ce8c564133e2b2a7bd4011089e52808e7
CRs-Fixed: 2039224
2017-06-19 20:10:45 -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
snandini
e5ef9d4029 Release 5.2.0.30M
Release 5.2.0.30M

Change-Id: Icc8169c905bff8946963b3001e2c241242fa850f
CRs-Fixed: 774533
2017-06-19 19:32:50 -07:00
Tushnim Bhattacharyya
c827df30e3 qcacld-3.0: Release mutex before returning
Release remain_on_chan_ctx_lock mutex before returning to avoid thread
deadlock situation.
Change-Id: If5fb823ac2c042d34693abb8928dbc2159449a6e
CRs-Fixed: 2056611
2017-06-19 19:32:49 -07:00
Kiran Kumar Lokere
d0fad467ef qcacld-3.0: Process CSA IE only if CSA offload is not enabled
If CSA offload is enabled, FW send the CSA offload event for
the channel switch, so ignore the CSA IE check in beacon and
probe response frame processing.

Change-Id: I3f0d204317a4d26dc503c350307f4c144bf8672d
CRs-Fixed: 2060145
2017-06-19 19:32:47 -07:00
snandini
9737284a5e Release 5.2.0.30L
Release 5.2.0.30L

Change-Id: Iaaf24902c684a1cd826c032bdd8ad39880979097
CRs-Fixed: 774533
2017-06-19 15:40:33 -07:00
Krunal Soni
cebcc29de5 qcacld-3.0: Keep wake lock while HW mode is getting changed
Host should keep the wake lock from the time it sends set hw mode request to FW
till it receives the set hw mode response. This will avoid any fatal
crash condition.

Change-Id: I6ab1020811100be1adbb70b90a06285dc8bed88c
CRs-Fixed: 2060010
2017-06-19 15:40:32 -07:00
snandini
763d45b866 Release 5.2.0.30K
Release 5.2.0.30K

Change-Id: Ieffbec6908e480b700bc80fadaad28b1210daef5
CRs-Fixed: 774533
2017-06-19 12:43:47 -07:00
Manjunathappa Prakash
70ea728fe9 qcacld-3.0: iHelium: Increase RX_HTT_HDR_STATUS_LEN from 64 to 256bytes
Increase packet header bytes to 256, HL1.0 target offload features on
iHelium FW requires header bytes to be increased from 64 to 256bytes.
And round up the HTT_RX_BUF_SIZE to CACHE_LINE_SZ.

Change-Id: Iec45f5747956d0797411f76c2fec1368a13e7d6d
CRs-Fixed: 1039073
2017-06-19 12:43:47 -07:00
Nachiket Kukade
223ad8c2ce qcacld-3.0: Free the memory in ROC request queue during remove
During p2p find one or more remain on channel requests are queued
for execution. Memory leak is observed if module exit happens before
roc cancel is called.

Free the memory allocated in the ROC request queue nodes during exit.

Change-Id: I10d77266652f497f556a0a26b617856d81e982a7
CRs-fixed: 2032162
2017-06-19 12:43:43 -07:00
Dustin Brown
209124664c qcacld-3.0: Free psoc when hdd_wlan_startup fails
A psoc object is being created in hdd_wlan_startup, but not freed in
case of an error. Free any allocated psoc object in hdd_wlan_startup
as part of the existing error handling.

Change-Id: I6292188c4b92198ea157f6e2f1519b89fc991ad5
CRs-Fixed: 2059166
2017-06-19 12:43:41 -07:00
Rajeev Kumar
1c40f07442 qcacld-3.0: Add audit comment in cfg80211_conditional_chan_switch
Add audit comment in cfg80211_conditional_chan_switch to express the intent
why policy table is not used in this API.

Change-Id: Ia2e7dd4d92283794ce389d6c202d4a69338d89bd
CRs-Fixed: 2056564
2017-06-19 12:43:40 -07:00
snandini
0cb67ed674 Release 5.2.0.30J
Release 5.2.0.30J

Change-Id: I8dbfc2b7b6bd8ece9e3ef7670ceb84cba7775acd
CRs-Fixed: 774533
2017-06-19 00:06:57 -07:00
Ashish Kumar Dhanotiya
cc770eb720 qcacld-3.0: Validate vendor command do_acs
Currently attributes are not validated in __wlan_hdd_cfg80211_do_acs,
this can lead to a buffer overread.

To resolve this issue, Define an nla_policy and validate the
attributes.

CRs-Fixed: 2054685
Change-Id: Ic1bd5abbef09407f925625b709f10cf9cb7c3d7f
2017-06-19 00:06:56 -07:00
snandini
56f7b1d386 Release 5.2.0.30I
Release 5.2.0.30I

Change-Id: I60acc5fa627a2cd2735757df216e75b74f04e2ed
CRs-Fixed: 774533
2017-06-18 23:30:19 -07:00
Naveen Rawat
9ff3e249af qcacld-3.0: Skip an IE if found more its max times in a frame
Check if a IE has been encountered more than max possible for that IE
while parsing a frame.

Change-Id: I1054c7df18780469849be55fc4343f09ac502a49
CRs-Fixed: 2058261
2017-06-18 23:30:18 -07:00
snandini
8565edc294 Release 5.2.0.30H
Release 5.2.0.30H

Change-Id: Ic7d6a3cfb6f116a88d25ea496963aa418b368097
CRs-Fixed: 774533
2017-06-18 17:36:58 -07:00
Govind Singh
4ff22580dc qcacld-3.0: Use converged beacon template WMI cmd
WMI beacon template wmi cmd is converged in WMI layer.
Use converged beacon template WMI cmd and legacy cmd
is removed.

Change-Id: Ia76ec059489d9faa7b5420a8eb88c89ffe0807dc
CRs-Fixed: 2038284
2017-06-18 17:36:57 -07:00
snandini
fadeb650ef Release 5.2.0.30G
Release 5.2.0.30G

Change-Id: I41d21361eca2cd51d2dba0c235224a1a8a3188d5
CRs-Fixed: 774533
2017-06-18 16:55:32 -07:00
Kabilan Kannan
0e9b029973 qcacld-3.0: Reduce log level in TDLS functions
Some of the TDLS functions have info level logs and it
causes kernel log buffer overeflow and triggers
WD bite.
Reduce the log level from info to debug.

Change-Id: I2878a617f4e06eea6c3aaafd218e0cbbdd999070
CRs-Fixed: 2043718
2017-06-18 16:55:32 -07:00
snandini
0442e53174 Release 5.2.0.30F
Release 5.2.0.30F

Change-Id: I32c56f526943728d6e62064f6b0b1ca4815227a8
CRs-Fixed: 774533
2017-06-18 16:11:05 -07:00
Deepak Dhamdhere
d42ab7c3dc qcacld-3.0: Ignore peer_unmap_timer_handler during recovery
If the driver recovery is in progress, unmap events may not come
from firmware. Ignore the peer_unmap timeout in such case.

CRs-Fixed: 2033452
Change-Id: I284c57530a477953247ad325dfaddff72767aecf
2017-06-18 16:11:04 -07:00
Deepak Dhamdhere
2b283c6543 qcacld-3.0: Use qdf_timer_sync_cancel to stop peer_unmap_timer
Peer may get deleted between the time peer_unmap_timer fires and
the handler gets executed in mc thread context, causing memory
access error. Use qdf_timer_sync_cancel() to wait for the handler
to finish its job before freeing the peer object.

CRs-Fixed: 2026393
Change-Id: Ie60b5c300be529d529f7e836adc0e3be917fe2e8
2017-06-18 16:11:03 -07:00
Deepak Dhamdhere
fe55836608 qcacld-3.0: Initialize peer_unmap_timer during peer attach
Initialize peer_unmap_timer during peer attach instead of at the
time of peer detach. Then ol_txrx_unref_delete can destroy
the timer without peer detach getting called earlier.

CRs-Fixed: 2014183
Change-Id: Icebec27d5562350871a89b5cf71ae99f096feee8
2017-06-18 16:11:01 -07:00
Deepak Dhamdhere
e1c2e21a3d qcacld-3.0: Add peer unmap timeout handler
Add a timeout handler that fires off 6000 ms after peer detach
operation is initiated. Used for debugging the scenario of missing
peer unmap events after deleting a STA type peer.

CRs-Fixed: 1109867
Change-Id: Iad18f374ba3c1458c5214befd1d5c1517a7bdedf
2017-06-18 16:10:59 -07:00
snandini
058d514b1d Release 5.2.0.30E
Release 5.2.0.30E

Change-Id: I1c608166a9270d9afd3c70687c167f3769205a8b
CRs-Fixed: 774533
2017-06-18 15:27:52 -07:00