On Thu, 2023-04-06 at 18:47 +0530, Veerendranath Jakkam wrote: > On 3/7/2023 3:52 PM, Johannes Berg wrote: > > --- > > So this is the patch I ended up with after some cleanups, but > > then at the end I noticed you didn't unset the temp address > > when the remain-on-channel expires, and wasn't sure exactly > > how that should be handled, and you probably have the better > > test setup right now too ... > Apologies for the delayed response. Thanks for the cleaning up the patch. > > Regarding the comment on clearing temp address, I think the temp address > should get cleared with below changes added in > ieee80211_roc_notify_destroy() when remain-on-channel expires. Please > let me know if I am missing something. > > > > diff --git a/net/mac80211/offchannel.c b/net/mac80211/offchannel.c > > index d78c82d6b696..74d2b826916a 100644 > > --- a/net/mac80211/offchannel.c > > +++ b/net/mac80211/offchannel.c > > @@ -187,6 +187,12 @@ static void ieee80211_roc_notify_destroy(struct ieee80211_roc_work *roc) > > roc->mgmt_tx_cookie, > > roc->chan, GFP_KERNEL); > > > > + if (!is_zero_ether_addr(roc->sdata->vif.cfg.temp_addr)) { > > + eth_zero_addr(roc->sdata->vif.cfg.temp_addr); > > + ieee80211_vif_cfg_change_notify(roc->sdata, > > + BSS_CHANGED_TEMP_ADDR); > > + } > > + > > list_del(&roc->list); > > kfree(roc); > > } > Huh, yeah, looks like I just missed that? Sorry about that. Seeing that though, I remembered another thing - don't we have to adjust the merging logic in ieee80211_start_roc_work() and maybe also ieee80211_coalesce_hw_started_roc()? johannes