From 9c3c5d8625f5ab259ebbdcea04745af610e1e59d Mon Sep 17 00:00:00 2001 From: Aasir Rasheed Date: Wed, 10 Jun 2026 12:27:59 +0530 Subject: [PATCH] qcacld-3.0: Update phymode along with ch_width update to FW MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AP sends "Operating Mode Notification" IE contains max supported channel width indication (ap operating channel bandwidth) via beacon/probe response/association/re-association response frame. After sending OMN IE to DUT, AP expects DUT should do Tx/Rx of data packet on ap operating channel bandwidth. Due a recent change in FW (via CR/3701633), FW combined BW and PHYMODE update requests into single message to avoid race condition and assert in FW. It means whenever host updates ch_width to FW, should also update corresponding phymode immediately via same command WMI_PEER_SET_PARAM_CMDID with param id WMI_HOST_PEER_PHYMODE. Currently on detecting OMN IE in any of above frame, host sends WMI_PEER_SET_PARAM_CMDID command only once with param id WMI_HOST_PEER_CHWIDTH to update ch_width only with expectation “FW should use same ch_width for further Tx/Rx of data packet”. But FW ignoring only ch_width updates (without followed by phymode update), this results DUT fails to do Tx/Rx of data packet on ch_width present in OMN IE. Fix is to make sure on detection of OMN IE (contains valid ch_width) in above frame(s), host should send WMI_PEER_SET_PARAM_CMDID command two times to FW to update ch_width and corresponding phymode. Change-Id: Ic23205bb6c164b1bcb9c183d0f7818b082b84583 CRs-Fixed: 3734683 --- core/wma/src/wma_mgmt.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/wma/src/wma_mgmt.c b/core/wma/src/wma_mgmt.c index e6136508c682..44e28b904b3a 100644 --- a/core/wma/src/wma_mgmt.c +++ b/core/wma/src/wma_mgmt.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2013-2021 The Linux Foundation. All rights reserved. - * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) 2022, 2026 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -2732,6 +2732,10 @@ void wma_process_update_opmode(tp_wma_handle wma_handle, wma_set_peer_param(wma_handle, update_vht_opmode->peer_mac, WMI_PEER_CHWIDTH, update_vht_opmode->opMode, update_vht_opmode->smesessionId); + + wma_set_peer_param(wma_handle, update_vht_opmode->peer_mac, + WMI_HOST_PEER_PHYMODE, + fw_phymode, update_vht_opmode->smesessionId); } /**