RE: [PATCH rtw-next v5 3/3] wifi: rtw88: support channel switch in AP mode
From: Ping-Ke Shih
Date: Mon Oct 12 2026 - 00:00:09 EST
Mehmet Fide <mehmet.fide@xxxxxxxxx> wrote:
> void rtw_fw_update_beacon_work(struct wiphy *wiphy, struct wiphy_work *work)
> {
> struct rtw_dev *rtwdev = container_of(work, struct rtw_dev,
> @@ -1811,7 +1840,8 @@ void rtw_fw_update_beacon_work(struct wiphy *wiphy, struct wiphy_work *work)
>
> mutex_lock(&rtwdev->mutex);
>
> - if (!test_bit(RTW_FLAG_RUNNING, rtwdev->flags))
> + if (!test_bit(RTW_FLAG_RUNNING, rtwdev->flags) ||
> + rtw_fw_csa_active(rtwdev))
As my comment in patch 2/3, I think we should cancel the work at core_stop.
> goto out;
>
> rtw_fw_download_rsvd_page(rtwdev);
[...]
> @@ -438,6 +443,8 @@ static void rtw_ops_bss_info_changed(struct ieee80211_hw *hw,
> rtw_set_dtim_period(rtwdev, conf->dtim_period);
> rtw_fw_download_rsvd_page(rtwdev);
> rtw_send_rsvd_page_h2c(rtwdev);
> + if (conf->csa_active)
> + rtw_fw_csa_start(rtwdev, vif);
Is this a necessary case? Can't rtw_ops_channel_switch_beacon() handle it?
> }
>
> if (changed & BSS_CHANGED_BEACON_ENABLED) {
[...]