Hi Kalle, On Wednesday 4 October 2023 12:20:12 CEST Kalle Valo wrote: > > Jérôme Pouiller <jerome.pouiller@xxxxxxxxxx> writes: > > > The WF200 allow to start two network interfaces (one AP, one station) on > > two different channels. Since magic does not exist, it only works if the > > station interface enables power save. > > > > Thus, the driver detects this case and enforce power save as necessary. > > > > This patch fixes the case where the AP interface is stopped and it is no > > more necessary to enforce power saving on the station interface. > > > > Signed-off-by: Jérôme Pouiller <jerome.pouiller@xxxxxxxxxx> > > --- > > drivers/net/wireless/silabs/wfx/sta.c | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/drivers/net/wireless/silabs/wfx/sta.c b/drivers/net/wireless/silabs/wfx/sta.c > > index 626dfb4b7a55d..9c0a11c277e97 100644 > > --- a/drivers/net/wireless/silabs/wfx/sta.c > > +++ b/drivers/net/wireless/silabs/wfx/sta.c > > @@ -402,7 +402,12 @@ void wfx_stop_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif, > > struct ieee80211_bss_conf *link_conf) > > { > > struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv; > > + struct wfx_dev *wdev = wvif->wdev; > > > > + wvif = NULL; > > + while ((wvif = wvif_iterate(wdev, wvif)) != NULL) > > + wfx_update_pm(wvif); > > Isn't the assignment of wvif to NULL unnecessary as in the next line we > assign it to again? wvif is also passed as argument to wvif_iterate(). wvif_iterate() uses this parameter to know where the iteration has stopped on previous call. However, the assignation during the declaration of wvif is useless. -- Jérôme Pouiller