Currently api hdd_conn_get_connection_state does not use
connection manager to get the connection state. With this
change use connection manager api to get the connection
state.
Change-Id: I313e353cf1ae8f233044645daeab9fb5bdb6b64e
CRs-Fixed: 2859574
On third party platforms. there is no crashdump.
Such logs are helpful for analysis of crash issue.
For debuging purpose, dump wmi cmd/event/credit
record history when PLD_FW_DOWN event is received.
CONFIG_DUMP_LOG_BUF_CNT is used to limit the number
of logs. it's 0 by default on the platforms like LA
where crashdump is available.
Change-Id: I136e39322b32ff43b88765f390a7393432ca7daa
CRs-Fixed: 2857691
Allow TWT teardown event from firmware after roaming or peer
initiated teardown to indicate the value to userspace. Also
make changes to send the wake duration value in microseconds
scaled with the TWT wake duration multiplication factor.
Change-Id: Ibcd0c51b1930094e0efc3832db5b8aadaa5748ea
CRs-Fixed: 2859775
Currently, host driver rejects any concurrent session with other
security modes(e.g. NAN) when WAPI is present. This is due to a
limitation on older platforms. But newer platforms(e.g. Lithium
architecture) support WAPI+other security modes concurrently.
Firmware advertises service capability WAPI_CONCURRENCY_SUPPORTED if it
supports other security modes when WAPI is active. Get the capability
and accept/reject concurrent sessions.
Change-Id: I0e004e1220afd9c42869589364606c9f729798f7
CRs-Fixed: 2844799
By default, PCIe bus suspend is not allowed in beaconing modes
(SAP/P2PGO/NDP) with one or more clients connected. Some OEMs need
PCIe bus suspend in this mode. Hence, add a config item to serve
both types of requests.
Change-Id: Ia2d990f17f605036d43db75ecd4df57701b4ba1f
CRs-Fixed: 2860495
Currently if the power stats command is invoked from multiple
threads, then the thread which invokes the command at the last
will overwrite the request manager cookie in the mac context.
Now when host gets response for these multiple requests, hdd
calback hdd_power_debugstats_cb will be invoked for each response
with the same cookie. in hdd_power_debugstats_cb host allocates
memory for the private data and this memory will also be
allocated multiple times and the last allocations will overwrite
the initial memory allocs which will lead to the memory leaks.
To address above issue set the sme power stats response cb and
context to NULL so that the callback is invoked only once.
Change-Id: I6fae0f96771ba505f06c1be14a8907b56efede24
CRs-Fixed: 2857855
After pre cac succeeds, driver triggers regulatory change
to user space then starts CSA process. As a result hostapd
triggers another pre cac to driver while SAP performs CSA,
this makes unexpected state in driver, therefore subsequent
pre cac will not be correctly performed.
To address this, reject the pre cac request during CSA.
Change-Id: I82187d64bf94d3bdfab84b873c2ab438a4037ea9
CRs-Fixed: 2859289
Once 1 roaming happened, ipa_ctx->sta_connected increased 1, and its
type was uint8_t, once increased to 256, overflow happened.
ipa_ctx->sta_connected became 0. then wlan_ipa_cleanup_iface couldn’t be
called to free old iface, but wlan_ipa_setup_iface was called to add new
iface, then there were 2 sta ipa interfaces with same session id 2.
When sta disconnected, only 1 ipa interface was freed, the other ipa
interface with session id 2 was left, but vdev 2 was deleted.
If 1st client connected DUT SAP, sta vdev 2 was found by mistake,
WMI_IPA_OFFLOAD_ENABLE_DISABLE_CMDID was sent to F/W to enable IPA path
for vdev 2, but vdev 2 wasn't existed, assert happened.
To fix it, when LFR3 roaming happens, when wlan_ipa_cleanup_iface is
called to free old iface, ipa_ctx->sta_connected is decreased by 1
first, when wlan_ipa_setup_iface is called to add new iface,
ipa_ctx->sta_connected is increased by 1, then
ipa_ctx->sta_connected reflects real STA number on DUT.
Change-Id: I5c91b3402dcfe8b1828d8d1f0701f66ca3c15d50
CRs-Fixed: 2859438
While adding monitor interface, issue disconnect for existing
STA interface only if mon concurrency is supported, for packet
capture mode disconnection is not required.
Change-Id: I6e970eb52681fcb500ab56372ff93e9c73d79618
CRs-Fixed: 2855842
cm id is not passed to policy manager in case of DBS donwgrade
when NSS is modified, pass the cm id to fix it.
Change-Id: Ie038b30929c2fcddb6828f1f89765d3004ff3285
CRs-Fixed: 2860061
As for msm-4.14, it has kernel panic with API
request_firmware if not provide wlan_mac.bin.
So in order to fix search wlan_mac.bin failure
issue, export one feature flag to disable
updating wlan mac address from wlan_mac.bin,
which should be feasible for different target
Change-Id: I6a50288c90229e6edbc10b543aec443828310d68
CRs-Fixed: 2850309
Implement support for sending new control path stats
infrastructure via WMI_REQUEST_CTRL_PATH_STATS_CMDID and
WMI_CTRL_PATH_STATS_EVENTID in cp stats component. Also add
support for TWT Get statistics through this new method.
Change-Id: I62b3a525cde797cd5b809ca9e8e6c91d5651c6b4
CRs-Fixed: 2851016
As per specification sequence numbers of action frames also needs
to be randomized when the source MAC address is randomized. Currently
this feature is not implemented in the driver as a result corresponding
test case is failing.
To address this, add support to sequence number randomization in the
driver. Also add a INI param to control this feature.
Change-Id: Icd7b6fd55b324a8d6b1226d89f19be0ad9385e0a
CRs-Fixed: 2829032
Problem scenario:
1) Host uses self RX and peer VHT TX NSS intersection to update peer
VHT RX MCS map and self NSS in pe_session.
2) Host updates peer VHT TX MCS map and self TX NSS from PE session
to FW. FW uses these values to select TX rates for data packets.
3) If an AP supports 1 TX NSS and 2 RX NSS and host supports 2 TX and
RX NSS, as a result of intersection host sets VHT TX MCS map to
0xfffe i.e. 1x1 and associates with AP in 1x1. Which leads to low
TX throughput.
Fix:
Use intersection of peer VHT RX MCS map and self VHT TX NSS to update
NSS to firmware.
Change-Id: I4104e3502c45923625143cd32da8cb4529df05a2
CRs-Fixed: 2847115
Currently user configured tx aggr size "0-64" is not honored in
firmware, By default firmware expects as 256 and its hardcoded.
In order to make user controllable, host has to send default max
tx aggr size as 256 for lithium and 64 for other targets.
Change-Id: I7a69f09d048f79da4c770e71b4d1c8726fa02faa
CRs-Fixed: 2846803
hdd_for_each_adapter_dev_held_safe API takes dev_hold and
during cleanup of interface, dev is unregistered. So later
when dev_put is called, it results in illegal access to
unregistered dev.
Fix this issue by releasing dev_hold before interface cleanup.
Change-Id: Ib6bfe1a985f21be107b69beec0f92feccc98f34e
CRs-Fixed: 2855833
Adding history to track the FST lock/unlock events; this
would come in handy in debugging deadlock issues.
Change-Id: I40f783e72e516330fdf71ac91553bc7c4338b82a
CRs-Fixed: 2854397
Use wlan_reg_legacy_chan_to_freq api for channel to
frequency conversion instead of wlan_reg_chan_to_freq.
Change-Id: I06a2638a1e402dc6a750c672ed803e8dbfa254fc
CRs-Fixed: 2853575
A possible out-of-bound read can happen in the hdd function
wlan_hdd_set_sap_hwmode. To fix it, pass the proper length.
Change-Id: I11258c6d9f481a21afc3229762900153d6f83c82
CRs-Fixed: 2853407