The function wma_wake_event_piggybacked gets the pointer to pdev object
by calling cds_get_context with the respective module ID. This pdev
pointer is then passed on down the stack to CDP APIs where there are no
explicit NULL check to validate the same. In the case the pdev is NULL,
this can go on to cause a NULL pointer dereference.
Add a validation check on the PDEV pointer to avoid this.
Change-Id: Ifecd6853445c6df5e16e6310beb2bf7cbc6997a0
CRs-Fixed: 2524604
If supplicant disabled roaming, driver does not 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.
So when supplicant disabled roaming on a vdev, send RSO start on
the vdev and then follow it with RSO stop command.
So when supplicant disabled roaming, disable the firmware
roam scans alone and allow roam invoke.
Change-Id: Ic3def72c6b60c42269d99e6db30cf3bfd1988d70
CRs-Fixed: 2543865
In function hdd_association_completion_handler, there are couple of
large stack allocated arrays defined. This leads to issues of stack
overflow in cases when the stack across the call stack exceeds limit.
Dynamically allocate and deallocate the variables to ensure that they
take no space in the stack.
Change-Id: Ia077e44d7458f160581e3e75564a77d25d20311a
CRs-Fixed: 2515106
cdp_fc_get_tx_resource API is being called without passing
pdev handle, which mis-matches the prototype. Adding a fix
to include right arguments to passed, also removing static
from function ol_txrx_get_vdev_by_peer_addr to expose scope
outside the file, to fix compile errors.
Change-Id: I8089aa5df3a127b85236e69f8a84de7ebd09ec3f
CRs-Fixed: 2545857
Currently, Host does not update value of max_num_probes and
roam_scan_home_away_time as per default value of INI. This
could leads to only one probe request being sent out during
roam scans which might reduce probability of finding candidates
on a particular channel.
Fix is to update value of max_num_probes and
roam_scan_home_away_time as per INI.
Change-Id: I2aaa302cec840967443dfbfb7ea93f2b5f2380cb
CRs-Fixed: 2545070
Make HTC_MAX_MSG_PER_BUNDLE_TX configurable through config files.
Also set HTC_MAX_MSG_PER_BUNDLE_TX to 48 for QCN7605 usb.
Change-Id: If6616251f536c35db087d5623a81c8a3f02da725
CRs-Fixed: 2544743
Add action_oui ini gActionOUIDisableAggressiveEDCA to identify peers for
which aggressive EDCA configuration causes some IOT issues.
Change-Id: Ifea0c224cef2378727c9f78d8b571ea9c57bb662
CRs-Fixed: 2507191
To support 6Ghz channel, update channel number of struct
sap_StartBssCompleteEvent_s, hdd_ap_ctx and sap_ch_selected_s.
Change-Id: I19e6d7d03072135abed25e077e8573b5326ddba8
CRs-Fixed: 2519308
For ROME SAP connection phase, we should post the
eWNI_SME_ASSOC_IND_UPPER_LAYER to the queue after
finish sending out the association response frame
for other thread to handle it, otherwise using sme
callback handler in the irq thread will make it has
QDF ASSERT issue in the qdf_mutex_acquire. And the
call sequence that cause the assert like this:
__do_softirq -> ce_engine_service_reg ->
htc_rx_completion_handler -> htt_t2h_msg_handler
-> ol_tx_single_completion_handler ->
ol_tx_desc_frame_free_nonstd ->
tgt_mgmt_txrx_tx_completion_handler ->
lim_assoc_rsp_tx_complete -> sme_process_msg ->
qdf_mutex_acquire.
Meanwhile, lim_assoc_ind will be free in the
lim_assoc_rsp_tx_complete, but it still need to
be used for sme_assoc_ind->assocReqPtr in the
lim_fill_sme_assoc_ind_params, which cause the
assoc req pass to hostapd should be NULL, fix
such issue.
Change-Id: I390224ba64ea6cd963630de5b360e7b5e74a4d10
CRs-Fixed: 2542880
Use wlan_reg_set_channel_params_for_freq to update SAP channel
parameters. The "freq" version API can handle 6GHz channel properly.
Change-Id: I519de47d4ec1fa1351b120f2faa9f23de1064493
CRs-Fixed: 2536568
Normalize the weights of the frequencies for ACS scan
if the user has changed them in the ini.
This is done as legacy devices wont be able to scan
the newly added 6ghz frequencies, and thus wont
be able to associate with the SAP if it starts
on 6ghz channels.
Change-Id: I2dd2f706c248f5339bde06963540d0874d08b847
CRs-Fixed: 2543007
Connect and disconnect info logs doesn't have vdev related info
and thus it become difficult to know for which interface the
req is received from logs in STA+STA case.
Change-Id: I8a8e83e1ee82614c06d736542e9be5f93308a6a1
CRs-Fixed: 2545444
Driver will set 11ax mode to legacy phymode currently, so it
will report no HT capability to hostapd, it's wrong.
11ax mode can support HT capability, fix is to set 11ax phymode
to non legacy.
Change-Id: Id8dce7eba9f5d986c57242242a7376d19e98eb3f
CRs-Fixed: 2503202
enum wlan_phymode is the enum to store the phymode in host
and thus replace WLAN_PHY_MODE with enum wlan_phymode
and add the corresponding change in the code to use
enum wlan_phymode.
Change-Id: I6c7990255f193eb3afdeeb278d3cc159ef8503b1
CRs-Fixed: 2544822
SDX55 defined both MDM_PLATFORM and FEATURE_WLAN_DP_RX_THREADS,
and this is causing redefined issue.
Change-Id: I1427be477dd3832b98332c9edaa4063b8c573ae4
CRs-Fixed: 2542264
Currently we use PM qos apis to set masks and latency values at
PLD_BUS_WIDTH_LOW throughput level. As per experiments and power
measurements, this can also be done at the PLD_BUS_WIDTH_MEDIUM level
without any throughput impact and can help CPU enter C4 states at this
level.
Hence, donot use pm-qos APIs at less than high throughput levels.
Change-Id: I8bebb3b593b9d26aa6764b16b218814979bcd322
CRs-Fixed: 2507386
Modem block/unblock shutdown callbacks are added to synchronize
modem shutdown when the driver is in deinit sequence.
With new changes everything is synchronized via the platform driver,
So remove the the block/unblock shutdown callback's.
Change-Id: If66eed5b51bbce64f024edf49e37a21b222a6a4c
CRs-Fixed: 2489733
Extract and add Advertisement Protocol IE from hostapd.
MBO AP needs to report the ANQP supported in Advertisement
Protocol IE.
Change-Id: I5d7bb650de7626f568c1868775a665eff2305647
CRs-Fixed: 2530870
Currently in hdd_adapter, the variable cache_sta_info is an array of
hdd_station_info structured indexed by the sta_id. As sta_id is no
longer used, this array based implementation becomes unnecessary.
Move the sta_info implementation to a hash table implementation.
Change-Id: Iac11ecd2ae4a454649235cf8763e9a5f80e7eb38
CRs-Fixed: 2515316
Currently in hdd_adapter, the variable sta_info is an array of
hdd_station_info structured indexed by the sta_id. As sta_id is no
longer used this array based implementation becomes unnecessary.
Move the sta_info implementation to a hash table implementation.
Change-Id: I7d6fe04b7e0ab22615d431de9a10a4ad38ed65ba
CRs-Fixed: 2514280
On HST, only enable LFR3
On Rome, only enable LFR2
This change is for auto platforms
Change-Id: I67bd5877060621e756668e925031fd134bc1a0c2
CRs-Fixed: 2544840
After SSR the vdev id in P2P GO adapter can become invalid.
So return success status in stop_ap to kernel for proper
cleanup.
Change-Id: I20aa0873e6aa199749c1cbabd098a581500bebce
CRs-Fixed: 2527535