Commit Graph

9842 Commits

Author SHA1 Message Date
Pragaspathi Thilagaraj
54ac69d1ff qcacld-3.0: Fix OOB write in wma_roam_synch_event_handler
The routine wma_roam_synch_event_handler sends roam indication to the
upper layers. It uses the vdev_id of the synch event to pass the roaming
indication for the vdev session. If the vdevid exceeds the max_bssid
supported, then OOB write occurs in wma_roam_synch_event_handler.

Add check to validate vdev doesnot exceed the maximum bssid configured.
Add check to ensure vdev doesnot exceed max_bssid and return error if
violated.

Change-Id: Ief8b5070fd6cbb375900e2816524dbd946c5238d
CRs-Fixed: 2206569
2018-04-24 02:30:44 -07:00
Paul Zhang
ee09f8eefd qcacld-3.0: Configure the A-MPDU subframe per AC
Video/audio wireless application needs to tune parameters
per AC based. Configure A-MPDU subframe parameter per
AC via driver ini configuration file.

Change-Id: Id63be7aacf6465edee08f7a2f4c8a119f9bd6346
CRs-Fixed: 2212932
2018-04-24 02:30:41 -07:00
Pragaspathi Thilagaraj
b9c4674fda qcacld-3.0: Fix Use after free in wma_vdev_start_resp_handler
In the function wma_vdev_start_resp_handler when we recieve a
vdev start response event, we copy the req_msg->user_data to the
object hidden_ssid_restart of the structure
tpHalHiddenSsidVdevRestart. If hidden_ssid_restart_in_progress
flag is set for the corresponding vdev_id, then we post that
message to the PE and free the hidden_ssid_restart. If this
req_msg->user_data is used again if req_msg->msg_type is
WMA_CHNL_SWITCH_REQ , then a possible Use-After-Free will occur
in  wma_vdev_start_resp_handler.

When a channel switch request has occured, there will not be a
hidden ssid restart event in progress. So add check to validate
if the req_msg->msg_type == WMA_HIDDEN_SSID_VDEV_RESTART.

Change-Id: Ie3195b23ff136fbfd38fcd4d32e993d4cb016316
CRs-Fixed: 2216751
2018-04-24 02:30:37 -07:00
nshrivas
023bf55c6a Release 5.2.0.74T
Release 5.2.0.74T

Change-Id: Ia70f9719d742b5061af28a4d7877badba0178f53
CRs-Fixed: 774533
2018-04-23 22:19:01 -07:00
Jeff Johnson
b9d65f24a3 qcacld-3.0: Relocate hdd_reg_set_band()
Function hdd_reg_set_band() is currently located in wlan_hdd_wext.c,
but this function is independent of wireless extensions, so relocate
it as part of the plan to omit wlan_hdd_wext.c from the build when
wireless extensions is not enabled.

Change-Id: Ia1a359a7781bef6017baf17c8be53c2f9bab2517
CRs-Fixed: 2229769
2018-04-23 22:19:00 -07:00
Jeff Johnson
d81ab0571c qcacld-3.0: Relocate hdd_wlan_get_ibss_mac_addr_from_staid()
Function hdd_wlan_get_ibss_mac_addr_from_staid() is currently located
in wlan_hdd_wext.c, but this function is independent of wireless
extensions, so relocate it as part of the plan to omit wlan_hdd_wext.c
from the build when wireless extensions is not enabled.

Change-Id: If005f7c2295a519b891d3718799f6f826d59e97f
CRs-Fixed: 2229490
2018-04-23 22:18:57 -07:00
Jeff Johnson
11ba331f28 qcacld-3.0: Relocate wlan_hdd_set_filter()
Function wlan_hdd_set_filter() is currently located in
wlan_hdd_wext.c, but this function is independent of wireless
extensions, so relocate it as part of the plan to omit wlan_hdd_wext.c
from the build when wireless extensions is not enabled.

Change-Id: I7377806ad27ec8d6fa361523d290156a7facacac
CRs-Fixed: 2228938
2018-04-23 22:18:54 -07:00
Naveen Rawat
e8b1b82e17 qcacld-3.0: Add implementation of get_tx_power
Add changes to support get tx power from within stats
component.

Change-Id: Ifafee77033b8db75e6c9ad201a26ba8bbe72efd4
CRs-Fixed: 2210333
2018-04-23 22:18:51 -07:00
Naveen Rawat
3ff5cff23e qcacld-3.0: Add implementation of get_wake_lock stats
Add changes to support get wake lock stats from within cp_stats
component.

Change-Id: I93855e4a1635afa97b4d5235ddb9cd92654f943d
CRs-Fixed: 2210330
2018-04-23 22:18:48 -07:00
nshrivas
f4766cdd80 Release 5.2.0.74S
Release 5.2.0.74S

Change-Id: Icb9b166b4420ac1639cee446aed260bf6a50826b
CRs-Fixed: 774533
2018-04-23 12:44:15 -07:00
Dustin Brown
ee22071a17 qcacld-3.0: Use total_len in drv_cmd_p2p_dev_addr()
Avoid userspace overwrite in drv_cmd_p2p_dev_addr() by intersecting the
max output buffer size with the total length of the userspace buffer.
This avoids the overwrite in cases where the allocated userspace buffer
is smaller than the max output buffer size.

Change-Id: I55c6d4b277e5964a7978daceffbe4eb72014c06d
CRs-Fixed: 2222846
2018-04-23 12:44:15 -07:00
nshrivas
0c28056d53 Release 5.2.0.74R
Release 5.2.0.74R

Change-Id: I3890349d8735aa6ac5b984c051fb6f52f58f6bad
CRs-Fixed: 774533
2018-04-23 07:50:51 -07:00
Rakshith Suresh Patkar
44f6a8f1d9 qcacld-3.0: Debugfs Implementation for dp trace collection
Implement debugfs interface to dump DP trace buffer
to a debugfs file.

Change-Id: I51ac3acbfc404b87cacc8a247f85cc4ee9971b61
CRs-Fixed: 2180977
2018-04-23 07:50:50 -07:00
nshrivas
7d51ec65a6 Release 5.2.0.74Q
Release 5.2.0.74Q

Change-Id: Iaa10d27cfda1bde5562cae4eb051936a4d062c15
CRs-Fixed: 774533
2018-04-23 00:30:46 -07:00
Wen Gong
01a2c63468 qcacld-3.0: Add DFS master feature flag
Add config flag to enable / disable DFS master feature

Change-Id: Ibb0bc715c70b471b5e73626cf75ce9785a8eb567
CRs-Fixed: 2222562
2018-04-23 00:30:46 -07:00
Vignesh Viswanathan
067b9e668c qcacld-3.0: Post LFR2 Candidate found indication to Scan Queue
Post the LFR2 Candidate found indication to low priority scan queue
instead of SME queue to maintain order with beacon/probe frames
from Scan queue.

Change-Id: I5e8a6247a7d5200371d776bce3436104a5ba2df2
CRs-Fixed: 2226234
2018-04-23 00:30:42 -07:00
Vignesh Viswanathan
48b7ed9b32 qcacld-3.0: Allow Ext Scan and EPNO scan beacons on PE queue
Allow beacon frames received from Ext Scan or EPNO scan through
the filter into PE queue.

Change-Id: I491875f0e48bd2f317402b416598fe6e940e02a1
CRs-Fixed: 2226231
2018-04-23 00:30:38 -07:00
Vignesh Viswanathan
153ae93cf8 qcacld-3.0: Handle beacon frames from Scan module for SAP protection
Register a callback to scan module for beacon frames and handle
the beacon with the mac_ctx bcn/probe filter for SAP sessions.
This will allow beacon frames from the same channel as active SAP
sessions to be processed by the ap_beacon_process for SAP
protection mechanism implementation.

Change-Id: Idb0c1e22ba55fa683a7514d70ba5abe609263829
CRs-Fixed: 2226228
2018-04-23 00:30:35 -07:00
Vignesh Viswanathan
b3dbbc8cba qcacld-3.0: Add global MAC filters to filter beacon/probe frames in PE
Add filter structures in global mac context and apply the filter for
beacon/probe frames received in pe_handle_mgmt_frames before posting
the frames to PE queue.

Change-Id: Ic0e574705764c1bb247977a4c86e394b47941f5b
CRs-Fixed: 2226223
2018-04-23 00:30:31 -07:00
Vignesh Viswanathan
cad91325bf qcacld-3.0: Register SCAN queue to scheduler thread
Register the new low priority QDF_MODULE_ID_SCAN queue to the scheduler
thread to handler beacon/probe frames and scan events.

Change-Id: I80c9b6bbbce97942d188f8a7941a3937130d7c8e
CRs-Fixed: 2226222
2018-04-23 00:30:28 -07:00
Yu Wang
2741c7afbf qcacld-3.0: disable mailbox swap for FTM mode
It shouldn't swap mailbox in FTM mode,
or WMI commands will be stuck.

Change-Id: I5d3760100f3c8e1d2c3bfbe88fd5a84deb0bc1ff
CRs-Fixed: 2208876
2018-04-23 00:30:24 -07:00
nshrivas
aa714a1f94 Release 5.2.0.74P
Release 5.2.0.74P

Change-Id: I5b8e31dca8f2213b7dc42a79e58ea068e8425100
CRs-Fixed: 774533
2018-04-21 06:42:29 -07:00
Jeff Johnson
fc8c353cda qcacld-3.0: Relocate HDD Information Element macros
Currently wlan_hdd_wext.h defines some IE-related macros, but these
macros are independent of wireless extensions, so relocate them as
part of the plan to properly featurize wireless extensions.

Change-Id: I34b2b220087e946f662741fe549a980884b97842
CRs-Fixed: 2227954
2018-04-21 06:42:29 -07:00
Jeff Johnson
d9952752e0 qcacld-3.0: Relocate wlan_hdd_set_mon_chan()
Function wlan_hdd_set_mon_chan() is currently located in
wlan_hdd_wext.c, but this function is independent of wireless
extensions, so relocate it as part of the plan to omit wlan_hdd_wext.c
from the build when wireless extensions is not enabled.

Change-Id: I187305c1f01c7a3cb72f55a0ee885c4f4f0277aa
CRs-Fixed: 2227097
2018-04-21 06:42:25 -07:00
nshrivas
d56751bbc1 Release 5.2.0.74O
Release 5.2.0.74O

Change-Id: I6c486ee94751bd4d6124cc68ef9e46e51742ed9b
CRs-Fixed: 774533
2018-04-20 23:30:10 -07:00
Naveen Rawat
96a77d3735 qcacld-3.0: Enable Control path stats qcacmn component
Add Kbuild changes to compile control path stats component's
files.

Change-Id: I34b19766438721301ed0ed307f03efa35016fcc3
CRs-Fixed: 2210322
2018-04-20 23:30:09 -07:00
nshrivas
db49b4ad99 Release 5.2.0.74N
Release 5.2.0.74N

Change-Id: I96d23e75dcca0bdfa1df2fd7c5b5fa5dd9e65950
CRs-Fixed: 774533
2018-04-20 17:15:45 -07:00
Nirav Shah
2f3281d4b8 qcacld-3.0: Use y/n for CONFIG_HIF_PCI
Use y/n for CONFIG_HIF_PCI.

Change-Id: Id6bb574b863edcbf6b7b56cdffe25a8ce1a8ac31
CRs-Fixed: 2228344
2018-04-20 17:15:44 -07:00
nshrivas
51225472c5 Release 5.2.0.74M
Release 5.2.0.74M

Change-Id: I318bebe197f887dd38ac07fdbdbfeafd929ad3a4
CRs-Fixed: 774533
2018-04-20 12:08:52 -07:00
psimha
699e12b042 qcacld-3.0: Change flag to pick up latest HW headers
Change the path to pick up the latest v2 version of the
HW headers for Napier 11AX SoD

Change-Id: I0f8a504e3562fc8fb1a5c2d5f4529ca2c7ab9761
CRs-Fixed: 2188755
2018-04-20 12:08:51 -07:00
nshrivas
c55caf2ee9 Release 5.2.0.74L
Release 5.2.0.74L

Change-Id: I5fe70353b8b96ae6252f538dc616a2ab95d66924
CRs-Fixed: 774533
2018-04-20 02:33:28 -07:00
Jiachao Wu
27e67a30d5 qcacld-3.0: Always send CSA IE when 80211h enable
If CHAN_HOP_ALL_BANDS_ENABLE enable, CSA will miss in 80211h case.
CSA should be sent no matter CHAN_HOP_ALL_BANDS_ENABLE enable or not.

Change-Id: I62312fd5717910d23fdd8ce77c29ad2d9ef11567
CRs-Fixed: 2218108
2018-04-20 02:33:27 -07:00
Kiran Kumar Lokere
27026ae2a4 qcacld-3.0: Add support to process MU EDCA param set
Add support to process MU EDCA param set in assoc response
frames and send the params to FW.

Change-Id: Ia492d1212b3c357647a89e4f98d3cfdc7ff7bbac
CRs-Fixed: 2220227
2018-04-20 02:33:24 -07:00
nshrivas
cbbe401af3 Release 5.2.0.74K
Release 5.2.0.74K

Change-Id: I299bbb96363dd1ed9ec92975c8dc6224bb2aa366
CRs-Fixed: 774533
2018-04-19 22:06:35 -07:00
Dustin Brown
c8e96f1746 qcacld-3.0: Use total_len in drv_cmd_get_ibss_peer_info_all
Avoid userspace overwrite in drv_cmd_get_ibss_peer_info_all by
intersecting the max output buffer size with the total length of the
userspace buffer. This avoids the overwrite in cases where the allocated
userspace buffer is smaller than the max output buffer size.

Change-Id: I77f25c50bbe9d0b966a5c319297e3e2dca4b6280
CRs-Fixed: 2222879
2018-04-19 22:06:35 -07:00
Naveen Rawat
e02f8f541c qcacld-3.0: Move hdd_request_manager to qcacmn osif layer
Move hdd_request_manager to qcacmn osif layer, which will be
used by CP_STATs component.

Change-Id: Iab64ebb837d7c2c7411905b84306fbb9990a4bac
CRs-Fixed: 2220069
2018-04-19 22:06:31 -07:00
Naveen Rawat
2b43089fc7 qcacld-3.0: Add ini param to control RTT mac randomization
Add change to allow randomizing mac address used in STA mode RTT
ranging using ini param control.

Change-Id: Ief3814ef758476d2617d8176daade2128c2b250a
CRs-Fixed: 2205953
2018-04-19 22:06:28 -07:00
Abhinav Kumar
a95af7cbac qcacld-3.0: Add new ini to set min delay btw scan and reason bit-mask
Currently there is no provision to decide delay between two roam
scans in firmware. With these new ini's, driver wants to expose
control to decide delay between roam scans:

Add ini "min_delay_btw_scans" to set minimum duration allowed between
two consecutive roam scans. Fw should not allow roam scan if duration
between two consecutive roam scan is less than min_delay_btw_scan.

Add ini "roam_trigger_reason_bitmask" to set default value of
bit-mask containing roam_trigger_reasons for which
min_delay_btw_scans constraints should be apply.

Change-Id: I2af9d5dc8e6919eeb90251d3d744e3f07705e776
CRs-Fixed: 2221779
2018-04-19 22:06:23 -07:00
Naveen Rawat
9832247b07 qcacld-3.0: Fix check for firmware's chainmask capability
Fix condition checked before programming user's requested chainmask to
firwmare. Get current firmware advertised phy cap for non-dbs phymode
and check if it supports all chains for tx/rx 2g and 5g.

Change-Id: I3fcef315f478403955ce400b3ba6d138a8006a01
CRs-Fixed: 2202544
2018-04-19 22:06:17 -07:00
nshrivas
49c60e3f12 Release 5.2.0.74J
Release 5.2.0.74J

Change-Id: I0f6cc215cd719bc52453cc75c6301ec93fa8b9b3
CRs-Fixed: 774533
2018-04-19 19:26:02 -07:00
Sandeep Puligilla
06ae890ba3 qcacld-3.0: Probe request sent with corrupted IE
DUT sent directed probe requests as malformed
packets during heart beat failure scenario.

Join request structure holds the additional scan IE buffer
which contains IE's sent as part of the join request.
During the join request processing this buffer is updated
by deleting the extended capabilities IE but the buffer length
variable is not updated accordingly which caused malformed
probe request.

After deleting the extended capabilities IE, additional
scan ie buffer length also updated accordingly.

Change-Id: I1129123e76dffe03ac409109dbee02caabf60efa
CRs-Fixed: 2224287
2018-04-19 19:26:01 -07:00
Manjunathappa Prakash
fa2754cce5 qcacld-3.0: Dont access msdu after it is transmitted
Tx context is holding on to reference to msdu, meanwhile Tx completion
freed the msdu, remove redundent qdf_nbuf_reset_num_frags(msdu)

Change-Id: I4c51f6e61c19147d2d4dafbd19bdfc3029a872ab
CRs-Fixed: 2222024
2018-04-19 19:25:57 -07:00
Dustin Brown
933cd2a72f qcacld-3.0: Avoid info leak in hdd_driver_rxfilter_comand_handler
In hdd_driver_rxfilter_comand_handler(), when kstrtou8() fails to parse
the input string, the value of an uninitialized @type local is logged.
To avoid leaking stack memory, avoid logging the value of @type if the
parsing fails.

Change-Id: I46b21cdb138927b3edc406014450447c58a0d977
CRs-Fixed: 2221085
2018-04-19 19:25:53 -07:00
Will Huang
9508263669 qcacld-3.0: Unregister CSR scan request handler when csr_stop
Register CSR scan requester when csr_start(), but didn't unregister it
when csr_stop(). It might run out scan requester buffer.

Change-Id: I95472027c927ae0c0bc1869338cffad6bbacf0ff
CRs-Fixed: 2222492
2018-04-19 19:25:47 -07:00
nshrivas
e4073c1308 Release 5.2.0.74I
Release 5.2.0.74I

Change-Id: I4ea02eba2c3261591f364a08aad3e97ac6b49e49
CRs-Fixed: 774533
2018-04-19 14:15:09 -07:00
Arunk Khandavalli
830c969fc9 qcacld-3.0: Dont process driver unload during system reboot
During the system reboot when the firmware goes offline before the
driver unload there is no way to detect whether the it is because
of the reboot or a assert in the firmware. So, the driver waits
for the firmware to recover before continuing with unloading
the device.

Since this is a reboot case the firmware will not respawn the
execution and host driver is struck.

To mitigate the issue register a reboot notifier with the kernel
and if reboot is triggered proceed with a fake unload.

Change-Id: I33d14c393930e9ee737d38ffdb26e921fb057f29
CRs-Fixed: 2211776
2018-04-19 14:15:08 -07:00
Sandeep Puligilla
305d509e75 qcacld-3.0: Enable wiphy RxLDPC for 5G band
RxLDPC is disabled in wiphy 5g capability due
to which hostapd is failed to start in 5G channel
with RXLDPC enabled.

Read the RxLDPC capability value of 5G from
single MAC mode and update wiphy 5g band capability
structure to enable the RxLDPC.

Change-Id: Iec2b3674207d5f9ec13a40e110342d6b67ca391c
CRs-Fixed: 2215101
2018-04-19 14:15:04 -07:00
Jeff Johnson
a06efaab0e qcacld-3.0: Make hdd_display_stats_help() static
Currently hdd_display_stats_help() is a public function exported by
wlan_hdd_wext.h. But this function is only used internally within
wlan_hdd_wext.c, so remove the public prototype and instead make the
function static.

Change-Id: Iaed10720f0f325794481bbb7ad9f743deb6b7b15
CRs-Fixed: 2227013
2018-04-19 14:15:01 -07:00
Dustin Brown
0805bef924 qcacld-3.0: Enable qdf_flex_mem in Kbuild
A new data structure, qdf_flex_mem, was added to the common code repo.
Add qdf_flex_mem.o to the Kbuild.

Change-Id: If3ee8ad486578574d476d5ce77ce1ae9bb513d4e
CRs-Fixed: 2224551
2018-04-19 14:14:58 -07:00
Ashish Kumar Dhanotiya
214e142e9e qcacld-3.0: Change the default value of ini "gTxSchDelay"
Change the default value of ini "gTxSchDelay" from 2 to 0.

Change-Id: Ic4c53b5e3c38cda88d01684b9594a8bfb5be2aa1
CRs-Fixed: 2227539
2018-04-19 14:14:54 -07:00