Add support to allow TWT setup re-negotiation for the existing session.
If the setup request is received:
- before the host driver receiving the setup response event from
firmware for the previous setup request, then return -EINPROGRESS.
- after the host driver received the setup response event from
firmware for the previous setup request, then setup_done is
set to true and this new setup request is sent to firmware
for parameter re-negotiation.
CRs-Fixed: 2897896
Change-Id: I4d0cc5dac8d569a2e57c70ae6896ad1a24937597
cfg80211_get_chandef_type supports till NL80211_CHAN_WIDTH_40. Any
chan width more than NL80211_CHAN_WIDTH_40 can be treated as
NL80211_CHAN_HT40PLUS. __wlan_hdd_cfg80211_start_ap has the same
logic in-place.
Change-Id: I70166faf16730128039e4e48d9e90aefb1674977
CRs-Fixed: 2717615
Add big data stats as part of QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO
vendor command reply, if current state is disconnected.
Change-Id: I84dc1f9901be17ea7b2bd6aecc7bec4c19e77202
CRs-Fixed: 2876395
Currently, In twt setup command, driver set the
TWT command_in_progress before adding the dialog_id
in TWT context. Due to which, set active command
fails because the dialog id was not added to the
twt context. So the add dialog command response is
getting dropped at sme.
Set the TWT command_in_progress after adding the
dialog_id to TWT context.
Change-Id: Ic2c7e23720e2bc9f5a6737ba2f1dc4b1356dc179
CRs-Fixed: 2897736
Currently, host receive the mantissa in TU from upper
layer.
Add support for below TWT setup additional parameters:
Mantissa in Microsecond
Add changes to receive mantissa value of wake interval
in microsecond.
Change-Id: I00ac5006002a6b4d521a005080a1f5a787f54ba7
CRs-Fixed: 2888361
Cache roam_fail_reason, roam_invoke_fail_reason and
roam_trigger_reason in mlme value for the vdev.
Host sends these values to userspace via a vendor
command after disconnection.
Change-Id: Ief7d027f69b0449254de3615b39829f346589095
CRs-Fixed: 2877230
Currently, vdev_id 0 is chosen as default vdev_id in
opportunistic_timer_handler when none of the vdevs are started.
The same is used to send set_hw_mode command. But vdev_id 0 might
not be valid all the time and set_hw_mode command fails in
serialization module in such cases.
Below is one possible scenario,
1. Load the driver. p2p0 gets vdev_id 0 and wlan0 gets vdev_id 1
2. Enable NAN and create two NDIs. p2p0 interface(vdev_id-0) will
be deleted by userspace as part of this.
3. Disable NAN and remove the NDIs. It triggers opportunistic_timer
but hw_mode won't be set to SMM as the vdev corresponds to
vdev_id-0 doesn't exist.
So, choose a valid vdev_id(mostly belong to STA/NAN) as default
vdev_id.
Change-Id: I19bd00a07cb2c818af9ed5021b0ae0aca8c49f2f
CRs-Fixed: 2889404
Presently host prepares and fills wma req in wma_hold_req_queue
after sending pdev_set_dual_mac command to FW. Host uses same wma
request to process response from firmware. If host gets FW response
before filling wma request to wma_hold_req_queue, host fails to
process pdev_set_dual_mac cmd response. And thus the wma request
queued after sending pdev_set_dual_mac command gets timeout.
Hence prepare and fill wma req in wma_hold_req_queue before sending
pdev_set_dual_mac command to firmware.
Problem scenario:
1) Host send pdev_set_dual_mac cmd to fw in kworker thread and then
gets suspend before filling wma req into wma_hold_req_queue.
2) Host gets pdev_set_dual_mac cmd response from fw and schedular
thread runs to process response where it doesn't get wma request.
3) Now kworker thread gets scheduled and fill wma req and gets
timed out.
Change-Id: I4d32e4459c32843c8fdb9a48262b5a55eecf2cbd
CRs-Fixed: 2902212
Host need to print BTM resp TLV info (wmi_roam_btm_response_info)
only when trigger reason is BTM or WTC_BTM. As for other roam
triggers this TLV contains zeros, so host should not print.
Change-Id: Ic76a1b88b9e641745420c372b275392e86d4ba35
CRs-Fixed: 2884639
Pre CAC feature requires parallel operation in 2.4GHz and 5GHz.
So this feature won't be supported when there is no DBS support.
Reject pre CAC request in this scanario.
Change-Id: Iece04ac0f73aed2dfa1dd9bfd4869d96004534ce
CRs-Fixed: 2870645
Add vendor command interface/feature through which the user
or vendor can set the dtim count as per their requirement.
Change-Id: I26010948c4ed7e3c49bfe0453119235d4f438c6f
CRs-Fixed: 2894349
When updating the country to be the same value, the function will return
failure. This causes a crash in the wifi start up. Add check to see if
the country code is the same to avoid calling the API.
Change-Id: I7be11857fd9cc87b65f6c598d842a9ed5c024f59
CRs-fixed: 2896855
When processing the TPE IE from, the function has to calculate the
frequencies for each tx power it receives. The calculation is incorrect
which results in a bad lookup when populating the EIRP power value.
This can cause low throughtput issues.
Change-Id: Id854f678bd3933ab1a7198b346ed14d76d964360
CRs-fixed: 2896985
If DFS master capability disabled, STA+SAP SCC on DFS is not allowed,
so reset g_sta_sap_scc_on_dfs_chan to 0.
Change-Id: I90b0ec6947f5bc24c9854062f443de0d1f6dc452
CRs-Fixed: 2897719
Host checks if firmware advertises Operating channel validation(OCV)
support bit in service ready then updates OCV flag in wiphy ext feature.
Change-Id: I92f872a07e6f7142e602e6a9e5f5edcecc0aab0b
CRs-Fixed: 2880821
Currently, the code is not sending the Tx beamforming capability to FW
in the case of NAN. Add this call to support beamforming in NAN mode.
Change-Id: I32af660724cfaecfe59da153fea9f98d24b0d4cb
CRs-fixed: 2889614
Currently multiple ini is available for setting the broadcast
TWT requestor and responder configuration.
Deprecate "bcast_twt" legacy ini and also don't consider
legacy service capability WMI_SERVICE_BROADCAST_TWT.
So below is the service capability values combination
advertised by firmware:
new fw:
bcast_req bcast_resp legacy
0 0 0 -> disable bcast
0 1 0
1 0 0
1 1 1
old fw:
0 0 1 -> enable TWT
Also change the default value of "twt_bcast_req_resp_config" ini
to 1.
Change-Id: Ic9af296b0efffc8f76f647b5830183867e0adf57
CRs-Fixed: 2873360
Incase peer sends multiple Association
Request or multiple Association Request,
there can be crash due to excessive
logging.
So, rate limit the logging.
Also, this is also valid in case peer
sends multiple Disassociation or
Deauthentication request.
Change-Id: Iec4f70e8154ca0001f6d752f65449bb1d7bce5da
CRs-Fixed: 2891926
Currently, host sends mantissa in us for
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_INTVL_MANTISSA attribute.
Add changes to send wake interval mantissa in TU to firmware
and expectation from usersapce is to set the 1024 in the
exponent to derive the correct wake interval.
Change-Id: I53520369492961207496970fe78189bec6f75ad7
CRs-Fixed: 2897500
Currently pld_ipci_smmu_unmap suppot has been added for IPCI,
PCIE_FW_SIM and SNOC_FW_SIM type cases as an error, moving this
unmap support only for type IPCI.
Change-Id: Ib9a60656920d1cc46e28dc269983b7da8dba7d42
CRs-Fixed: 2896804
When "wmi_service_configure_roam_trigger_param_support" service
bit is set populate roam score delta and min rssi parameters
and send via WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID.
Change-Id: I3c7fc56a95c28c43992763be3351d91d9fd44041
CRs-Fixed: 2890148
Set HE capable for tdls capability. Add logging
for printing he caps for TDLS setup request,
TDLS setup response frame and tdls discovery
response.
Change-Id: I57968b6b5dfbe66271ae2ea2c1f1074d0a14b2f8
CRs-Fixed: 2888950
In off channel P2P GO neg resp tx frame, supplicant sends
roc duration (suppose 100ms) to sends the frame and as
this is not sufficient to receive the GO confimation frame,
driver internally adds 500ms more duration. So, new roc
duration is 600ms (100+500). But currently, restart
of the roc timer happens with old roc duration instead
of newly calculated roc.
Send the extended roc timer duration in restart roc timer
to fix this.
Change-Id: I1238d69d1d8b03578d74ef6ad0895f11cfac0178
CRs-Fixed: 2890951
Any update to the SRNG TP/HP when the device is in low power
state would result in system errors. While in D3 WoW mode,
disable EXT grp irqs and drain TXRX before sending enter
power save mode to the FW. This will ensure that no interrupts
are received while in WoW mode and as a result there wont be any
HP/TP updates.
Change-Id: Ic1fb7fdd45096b458abf5d243fa652c3da878dc0
CRs-Fixed: 2890568
While parsing the nudge command, the peer mac address is not copied to
the params structure passed to sme. So while Nudge active command,
since peer mac address is NULL, the driver is not able to get the
peer object and set the Nudge active command fails.
Copy the peer mac address to set the active command to peer
object, so that when nudge command response is received, the
response is not dropped due to active command is not nudge.
Change-Id: I11b11b3187dff5a79d0f79106c21d60d04edc17b
CRs-Fixed: 2888903