On Mon, 2022-03-21 at 15:46 +0530, P Praneesh wrote: > Replace struct ieee80211_channel with struct cfg80211_chan_def in > remain on channel apis, because the channel width information is > needed to handle centre frequency of 80MHz, and it is available > in cfg80211_chan_def. Also, add SUPPORTS_EXT_REMAIN_ON_CHAN feature > flag check before driver ops call. Couple of more things ... 1. Please split this into cfg80211 / mac80211, many of the changes are related to mac80211, but also many related to cfg80211 only (all the fullmac drivers), so I think it'd be nicer to have it as two separate patches. 2. You're not exposing _any_ such capability to userspace, so when userspace requests a wider channel but not supported, it's silently ignored for all the cfg80211 drivers. OTOH, for mac80211 drivers, you reject a wider channel. This can move up to cfg80211. 3. Why limit (per the commit message, not sure about the code) to 40 and 80 MHz, rather than allowing any bandwidth? Maybe somebody would want to use even smaller bandwidth (5/10)? Perhaps drivers should expose a bitmap of permitted bandwidths (rather than a single flag indicating support)? 4. At least in the brcmfmac, mwifiex and wilc1000 cases, not only do you ignore the bandwidth, but you even pretend in ready_on_channel() that you used it ... that seems even worse than just ignoring. Also, in some of those cases you send it as higher BW in the ready event, but lower BW in the expired event ... 5. (I don't want to know what happens in that staging driver ...) johannes