On Wed, 2025-05-14 at 16:58 +0530, Raj Kumar Bhagat wrote: > > +static bool > +__ieee80211_is_scan_ongoing(struct wiphy *wiphy, > + struct ieee80211_local *local, > + struct cfg80211_chan_def *chandef) Any particular reason or the __ name? We usually have that for internal locking-related things, but here doesn't matter, and there's no non-__ version either? > +{ > + struct cfg80211_scan_request *scan_req; > + int chan_radio_idx, req_radio_idx; > + struct ieee80211_roc_work *roc; > + bool ret = false; > + > + if (!list_empty(&local->roc_list) || local->scanning) > + ret = true; > + > + if (wiphy->n_radio < 2) > + return ret; > + > + /* > + * Multiple HWs are grouped under same wiphy. If not scanning then > + * return now itself > + */ > + if (!ret) > + return ret; I don't fully understand this logic, and certainly not the comment. You can certainly "return false" here anyway or something. And initialize ret = list_empty || scanning or something, the whole thing is hard to follow? > + if (!list_empty(&local->roc_list)) { > + list_for_each_entry(roc, &local->roc_list, list) { There's no point in checking first before iterating, it's perfectly fine to iterate an empty list and do nothing while doing so ... Also patch-order wise, it seems this one really should go before the 2nd? johannes