If (length + 1) is greater than priv_data.total_len then copy_to_user
results in writing more data than the buffer can hold.
Fix this by writing mininum of (length + 1) and priv_data->total_len.
Change-Id: If0c74b3c6c76ee3ca296fd8e0e844b9c53c30498
CRs-Fixed: 2386056
Change I875c2f14ffd54272fc9ea0df1cecc6dd1171e310 introduced an elaborate
workaround to prevent the pre-cac work from flushing itself during stop
adapter. Introduce a less complicated work around by simply checking if
the current adapter is the pre-cac adapter before flushing the pre-cac
work.
Change-Id: Ib3e0716f8d088d124e960dcd724f579fb39a3d74
CRs-Fixed: 2387173
It will ignore dfs channel since checking the flag of roaming dfs
channel wrongly.
Change-Id: I7c4ee9c12d42b7c8351ff81c389adba83eac0f26
CRs-Fixed: 2385147
Remove g_self_recovery_stats and WE_GET_RECOVERY_STAT
Remove configs of CONFIG_SERIALIZATION_V1 part
Change-Id: I82e72f22215b8794517410e0b8892b5adadcf457
CRs-Fixed: 2386839
Fix TDLS HT Cap channel width, select supportedChannelWidthSet based on
channel bonding settings for each band.
Change-Id: I89bae8bfb3d193da5e7165480447bc7471f93d06
CRs-Fixed: 2380598
When roaming is completed if the phymode of the target AP is
different from current phymode, then firmware will have updated
phymode and host driver will have older phy mode. The host driver
will update the opmode when new opmode is found over beacon or
vht opmode action frame. During opmode updation over
wma_process_update_opmode(), phymode is also sent to firmware.
As the phymode on the host driver is not updated to new value
after roaming and there will be mismatched phymode sent to
firmware. Firmware will not be able to handle this and asserts.
With current design, the channel width and frequency are updated
to wma interface on roam synch complete. Fix is to update the
phymode also after roam synch complete is received to wma iface
based on the new channel width updated.
Change-Id: I54aec080f53d3b49a309f9cb66553ec7c1805c50
CRs-Fixed: 2380456
Refactor firmware, serialization and command timeouts so that
HDD timeout are greater than serialization is greater than firmware
timeout.
The timeouts are defined considering below worst case delay in
firmware.
WMI_VDEV_START_REQUEST_CMDID 6 sec
WMI_VDEV_RESTART_REQUEST_CMDID 6 sec
WMI_VDEV_STOP_CMDID 2 sec
WMI_PEER_DELETE_CMDID 2 sec
WMI_PEER_ASSOC_CMDID 2 sec
WMI_PDEV_SET_HW_MODE_CMDID 2 sec
WMI_PDEV_SET_MAC_CONFIG_CMDID 2 sec
Change-Id: I270e980ed1cf2aee55a1fa4e88ff8ddc845a203b
CRs-Fixed: 2384389
Currently peer id is added to map unmap array with out
checking if its already added before. This leads to having
duplicate entries and host sends peer unmap conformation
to FW with duplicates which leads to FW assert. So check
if peer id exists before adding to the array.
Change-Id: Ifcf73145f241e8ad48ff0eba9d87880565e65bb6
CRs-Fixed: 2381577
Currently, value of staIndex in dph hash table is not getting
updated after roaming. But diver invokes pe_find_session_by_sta_id
to get PE session to handle eWNI_SME_GET_TSM_STATS_RSP. Due to a
different value of staIndex and staid, session lookup fails for
StaId. This results in failure of IOCTL command "GETTSMSTATS"
after roaming.
Fix is to use bssid instead of sta id to find session in
lim_send_sme_pe_ese_tsm_rsp.
Change-Id: I42745c864ac0292dbcaae05f62a00a141705d431
CRs-Fixed: 2381668
Use the correct variant i.e. HELIUMPLUS version of
wma_is_valid_fw_stats_cmd() for QCN7605(Genoa) - USB and SDIO also.
With the non-HELIUMPLUS variant 'txrx_fw_stats' command was geting
rejected.
Change-Id: I499bc568d7ed58d78dcc4aa86f433a8af76727f2
CRs-Fixed: 2378162
Implement a WAR to address a BT coex issue, along with a private ioctl
which can be used to switch the WAR on or off dynamically.
Change-Id: I9d29c141106db479039789d67c45a455e96a118b
CRs-Fixed: 2383150
Revert change I4e2a8d7f98907c205cc6988d8af309e7a5515b89 since
it introduced a build failure on some platforms along with an
inappropriately copyright change.
Change-Id: I1450c69211347afaa79642d99dd153f99f349694
CRs-Fixed: 2386432
Set the vdev type nss of each vdev to the minimum of
the max supported nss value, and the per vdev nss
value configured.
Change-Id: I038007d4d0d7302a21e0616a4044ee8735041f5c
CRs-Fixed: 2385339
The following PNO related ini items are moved to converged scan
component:
CFG_ENABLE_DFS_PNO_CHNL_SCAN CFG_PNO_SCAN_SUPPORT
CFG_PNO_SCAN_TIMER_REPEAT_VALUE CFG_PNO_SLOW_SCAN_MULTIPLIER
CFG_PNO_CHANNEL_PREDICTION CFG_TOP_K_NUM_OF_CHANNELS
CFG_STATIONARY_THRESHOLD CFG_CHANNEL_PREDICTION_FULL_SCAN_MS
CFG_ADAPTIVE_PNOSCAN_DWELL_MODE CFG_MAWC_NLO_EXP_BACKOFF_RATIO
CFG_SCAN_BACKOFF_MULTIPLIER CFG_MAWC_NLO_ENABLED
CFG_MAWC_NLO_INIT_SCAN_INTERVAL CFG_MAWC_NLO_MAX_SCAN_INTERVAL
Remove legacy ini definitions and related macros for these
ini values.
Change-Id: I81bdbd917969fc8a73e6e5359ca69f78acdf723c
CRs-Fixed: 2375450
Regulatory component is getting updated to reduce the
code size based on different regulatory features. In this
process new regulatory files are getting added and some
of the files are getting removed.
To compile the newly added files update the required changes
in driver Kbuild file.
Some of the functins which are not supposed to be invoked from
outside the component directly, replace those function calls
with the appropriate wrapper functions.
Change-Id: I31a25268250b99f4f156c4f149966213746d999e
CRs-Fixed: 2373780
PM_SBS/PM_SBS_DOWNGRADE action should not
be executed again if current hw mode is sbs.
Change-Id: I9bf2666c559dbf6a3ad73aec7ee94db7c50b82a7
CRs-Fixed: 2375652
When RX_PERFORMANCE is set, bind ol_rx_thread to perf CPU.
Do not update tdls stats and acquire rx_wakelock while
throughput is high, to avoid station drop packets caused
by slow process of ol_rx_data_cb(hdd_rx_packet_cbk).
Change-Id: I4e2a8d7f98907c205cc6988d8af309e7a5515b89
CRs-Fixed: 2373936
Fix error of "variable length array ‘duration’ is used ". Use fixed
length for array.
CRs-Fixed: 2383040
Change-Id: I4aee165cd626e56592c18b2211dc7c81e97d4cd4
Analysis:
1. Host initiated deauth and queued WLAN_SER_CMD_FORCE_DEAUTH_STA.
2. During deleting the STA, updated
sta_ds->mlmStaContext.cleanupTrigger as
eLIM_HOST_DISASSOC(0), default is 0.
3. At same time, the assoc req was received for this STA on other
vdev, in lim_check_sta_in_pe_entries() driver update
sta_ds->mlmStaContext.cleanupTrigger to eLIM_DUPLICATE_ENTRY.
4. lim_prepare_and_send_del_sta_cnf-> lim_send_del_sta_cnf()
use sta_ds->mlmStaContext.cleanupTrigger to update
mlmDisassocCnf.disassocTrigger to eLIM_DUPLICATE_ENTRY
instead of eLIM_HOST_DISASSOC.
5. Thus in lim_send_sme_disassoc_ntf(),
eWNI_SME_DISCONNECT_DONE_IND was called instead of
eWNI_SME_DISASSOC_RSP.
6. Thus we tried to remove WmStatusChange instead of
WLAN_SER_CMD_FORCE_DEAUTH_STA.
Fix:
Reject assoc req instead of using eLIM_DUPLICATE_ENTRY logic if
STA is already being deleted.
Change-Id: Ibab73758fa4a31ac017c8472894cd07b77133250
CRs-Fixed: 2380012
Currently, UAPSD enable command is sent to FW if
INI UapsdMask is set for any access category.
But, when twt is enabled then UAPSD auto trig
commands should not be sent to FW. If both twt
and UAPSD is enabled in FW then it can lead
to data stalls.
Send UAPSD enable command to FW if twt is not supported.
Change-Id: I5de9fed6dc7366aeecab9bdc1f6574bc78bae6fb
CRs-Fixed: 2373679
Move below two used cfg api to lim, since legacy cfg will be cleanup.
- cfg_get_capability_info
- cfg_get_regulatory_max_transmit_power
Change-Id: Ifdf96ed61366aeaec13ea466dd5c515e9538261a
CRs-Fixed: 2383216
Change I057ca0aff4a627c7fcdb9f90a5da46473813f60a ("qcacmn: Address
Unified WMI "get link status" deficiencies") is updating the "get link
status" Unified WMI, so update WMA to align with those changes. Note
that these are interdependent changes.
Change-Id: I508ec083298caa45d4cbb1ba28b21e47e379a804
CRs-Fixed: 2381366
There is race when unamp_timer_work and peer is deleted. Hold the
reference to peer while handling the peer_unmap_timer_work.
Change-Id: Ie6cef3f13e55ab7d2310f0fff4254cde3e3c96e1
CRs-Fixed: 2381036
If FW supports thermal throttling feature, add iwpriv and wmi
interface for configuring thermal throttle params.
Disable throttling in driver if FW supports thermal throttling.
Send Thermal configuration controls via WMI commands to fw
Added iwpriv command for user to control throttling
Added code under flag FW_THERMAL_THROTTLE_SUPPORT
CRs-Fixed: 2367015
Change-Id: Ie18016d23d151873e28781d3fac6e6d60245191d
In wmi_process_fw_event_default_ctx, Use same call
signature for MCL as WIN for wma_process_fw_event_handler
Change-Id: Ie361dd762c97667f4ee5bc3bb67fd0d39fbcae94
CRS-Fixed: 2372982
Per the Linux coding style both mixed-case names and so-called
Hungarian notation are frowned upon, therefore replace the identifier
"pStaDs" everywhere it occurs. Note that both "sta" and "sta_ds" are
commonly used in this context, so use the identifier "sta" since it is
shorter and passes the "telephone test."
Change-Id: I3b49a0759d8b261c1c6482a8ac0f99927756a9d4
CRs-Fixed: 2383115