From a4bcdfd7d7f8ba1b90dec356ffb0f01156deb91b Mon Sep 17 00:00:00 2001 From: Abhishek Singh Date: Fri, 30 May 2025 17:07:36 +0530 Subject: [PATCH] qcacld-3.0: Do not update the bearer switch state in case of reject In case host receive a bearer state switch request to non-WLAN which is initiated by other modules, it moves the state to non-WLAN without checking the status of the request. If request was not accepted, then there is no need to change the bearer state to non-WLAN. Change-Id: I13f59fedab1d7de92a1c417f87cc9c94f726a8b8 CRs-Fixed: 4166198 --- .../ll_sap/core/src/wlan_ll_lt_sap_bearer_switch.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/components/umac/mlme/sap/ll_sap/core/src/wlan_ll_lt_sap_bearer_switch.c b/components/umac/mlme/sap/ll_sap/core/src/wlan_ll_lt_sap_bearer_switch.c index 307c9ba698..7f9838694d 100644 --- a/components/umac/mlme/sap/ll_sap/core/src/wlan_ll_lt_sap_bearer_switch.c +++ b/components/umac/mlme/sap/ll_sap/core/src/wlan_ll_lt_sap_bearer_switch.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023-2025 Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -2119,10 +2119,14 @@ static void ll_lt_sap_deliver_non_wlan_audio_transport_switch_resp( * If there is no cached request in BS_SM, it means that some other * module has performed the bearer switch and it is not a response of * the wlan bearer switch request, so just update the current state of - * the state machine + * the state machine, in case status is completed, return if status is + * not completed. */ - ll_sap_debug("Bearer switch for non-wlan module's request"); - + if (status != WLAN_BS_STATUS_COMPLETED) { + ll_sap_debug("Vdev %d, Bearer switch to non-WLAN by other module failed %d", + wlan_vdev_get_id(vdev), status); + return; + } bs_sm_transition_to(bs_ctx, BEARER_NON_WLAN); }