Currently, when disabling the power save mode, driver sends
the TWT teardown command 10 times to the firmware. These 10
commands being received by the firmware within 200 ms.
However, this time doesn't enough time for the scanning
process to complete.
To address this issue, added a delay of 500ms between each
TWT teardown command sent by the driver to allow for the
successful completion of scanning before further commands
are issued.
CRs-Fixed: 3626036
Change-Id: I214e5dc94e94eb48f41436f9e5f1a6b9714f4bc1
If power save disable command commes, implicitly driver
teardown the existing TWT session by sending out
TWT_DEL_DIALOG command to fw. In firmware if
command fails due to firmware scan_in_progress or
chan_switch_in_progress then driver should retries
TWT_DEL_DIALOG implicitly.
In driver, add retries logic to the twt del dialog command in
case of power save disable.
CRs-Fixed: 3584286
Change-Id: I71299ea8239f33d194d2b55499f2d8e5946c42ba
Currently PM_LL_LT_SAP_MODE is not handled in policy manager.
With this change add support for PM_LL_LT_SAP_MODE in the policy
manager.
Change-Id: Icfbb3a95dc65225fc7dad5df7dca9306a5029402
CRs-Fixed: 3536491
Do not send TWT disable command to firmware if LL_LT_SAP
and other infra connection are present in MCC mode.
Change-Id: I38727bb2bda4afcc00d68560bd46cc26048ef5be
CRs-Fixed: 3550206
Add support for new twt status
HOST_ADD_TWT_STATUS_LINK_SWITCH_IN_PROGRESS and
HOST_ADD_TWT_STATUS_UNSUPPORTED_MODE_MLMR in the twt
ack event
Change-Id: Ica3a66983ea25f2c797827baa16daa4fcddcd099
CRs-Fixed: 3570318
Modify the log level from error/info to debug, to reduce logging
time. henceforth, it reduces intf deletion time and enhance the overall
performance of device.
Change-Id: I3498438e07daa97dc5b4805271397205c7aa0cf2
CRs-Fixed: 3389896
Some skb for vendor command reply is allocated with internal
API but reply/free is done with kernel APIs, which will break
the buffer tracking once NBUF_MEMORY_DEBUG and NETLINK_BUF_TRACK
are enabled.
To fix it, replace kernel APIs with internal APIs accordingly:
Replace cfg80211_vendor_cmd_reply() with
wlan_cfg80211_vendor_cmd_reply().
Replace kfree_skb() with wlan_cfg80211_vendor_free_skb().
Change-Id: If4f37b5dca5483a9b64c726d37d3959d3ecd699e
CRs-Fixed: 3350756
The kernel-doc script identified documentation issues in the os_if
layer, so fix them.
Change-Id: I71dd7893776e4b49a80f6be186740967b08d3347
CRs-Fixed: 3341451
Parse new nudge attribute to support flexible TWT.
This attribute is optional and will override wake
duration attribute if provided.
Change-Id: I16bbd5e4c78e5471cdccad4ebe43049d4f85e829
CRs-Fixed: 3265813
Handle twt renegotiation failure scenario when there is
error reported by firmware as part of
wmi_twt_ack_complete_event_id event.
Change-Id: I91e4bfd8f08ae81b474354c90ab8c770dcdfe19b
CRs-Fixed: 3297783
Generally below process should happen in renegotiation failure
case.
1. TWT setup (successful)
2. TWT setup (renegotiation failure)
3. TWT teardown
4. TWT GET STATUS - 0(dialog ID) 0 0 0
5. TWT setup - successful
Since all WMI TWT events gets executed in WMI thread. So when
renegotiation failure case hits, driver sends TWT
teardown to firmware and waits for twt ack in worker thread.
In same worker thread TWT event needs to be processed.
TWT ack event will not process as it's waiting in same worker
thread and it will get timedout.
As part of fix, break the context in renegotiation and
send the teardown in the new worker context.
Change-Id: I13c8d44d6582e39d1cc2c2aa10a500fffbf150b1
CRs-Fixed: 3204750
Add support for QCA_WLAN_TWT_SET_PARAM command to configure
QCA_WLAN_VENDOR_ATTR_TWT_SET_PARAM_AP_AC_VALUE attribute.
This attribute provides access category value for
WMI_PDEV_PARAM_TWT_AC_CONFIG. This is used by firmware to
configure access category for TWT HW queue in TWT Responder
mode(SAP).
Change-Id: I5131967ff2061bf6afad7bc5f091a7eb5ee01b8a
CRs-Fixed: 3168197
Expected error code is not returned for TWT setup with no
associated AP. Error code has been updated to correct value.
Change-Id: I5234026410a1bcfaf1151c6b7da272a1784d3fe3
CRs-Fixed: 3181078
Add support for QCA_WLAN_VENDOR_ATTR_TWT_SETUP_ANNOUNCE_TIMEOUT
attribute as part of TWT setup command. This attribute is used
to configure the announce timeout value (in us) in the firmware.
This timeout value is only applicable for the announced TWT. If
the timeout value is non-zero, the firmware waits up to the
timeout value to use Data frame as an announcement frame. If the
timeout value is 0, the firmware sends an explicit QoS NULL frame
as the announcement frame on SP start.
Change-Id: Idf564813487b8157f05265dc73ef7a9a1c31d9e2
CRs-Fixed: 3168235
When power save mode is disabled, TWT is also disabled. All existing
TWT sessions must be removed.
Change-Id: I7c1ceb7abbfea0205e65a038fdf8d574b797685e
CRs-Fixed: 3147231
Vdev ref count is not released after acquired in both success and
failure case in osif_twt_notify_complete_cb().
Release vdev ref count in both success and failure case.
Change-Id: I54ba4bdeb0ac5a6965a674e4c3dc5d0d8d6992bc
CRs-Fixed: 3143718
Currently, in twt get status command, params->peer_mac is used
check if twt setup exists for this peer mac, but if the input
is broadcast dialog id then params->peer_mac gets updated to
broadcast mac address and twt setup done check fails.
Fix is to use local peer mac address for twt setup check.
Change-Id: Iee98091bc86cfd48471b07464cda39666dd17ee3
CRs-Fixed: 3138601
When host sends TWT disable command to firmware, send reason code
also as part of it. So that firmware will check and take the
following action:
a. If host sends disable due SCC/MCC concurrency then firmware
will teardown the existing TWT session and send the teardown
reason code as concurrency to host.
b. If it's for other reason then it will take action based on
that.
Change-Id: I66b3d10e7d54319c3c6dcad57c78949bcdd11a26
CRs-Fixed: 3098864
In TWT component, for TWT setup request added below checks:
1. For individual TWT setup command, if peer does not support
TWT responder capability then host will reject individual
TWT setup request.
2. For broadcast TWT setup request, if peer does not support
TWT broadcast capability then host will reject broadcast
TWT setup request.
Change-Id: I7265520b1bdceab67b121ba2250d374b1c284275
CRs-Fixed: 3131628
In TWT component, add support for TWT get_status command
i.e when host wants to query current status of TWT sessions.
Change-Id: Ib43009e5f6a90c589db25f78e1ca43563f2950fe
CRs-Fixed: 3085483
In TWT component, add support for TWT nudge command
i.e when host wants to suspend the TWT session.
Change-Id: I176fdaf0f2ccc2d0656f9108484fc80b409268ef
CRs-Fixed: 3085999
In TWT component, add support for TWT pause command
i.e when host wants to suspend the TWT session.
Change-Id: I8a60bb40fe9d37121d700f246b91e3211af66189
CRs-Fixed: 3085990
Add SAP twt teardown support to componentization.
i.e to terminate the TWT session.
Change-Id: Idc12c564f3fb078aee4ff11831008d06876047e6
CRs-Fixed: 3085562