[PATCH v4 1/3] nl80211: Extended ROC support for 40-80 MHz bandwidth
Johannes Berg
johannes at sipsolutions.net
Wed May 4 04:14:50 PDT 2022
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
More information about the ath11k
mailing list