- To: Arik Nemtsov <arik@xxxxxxxxxx>
- Subject: Re: [RFC 2/4] cfg80211: support unused HT-cap-per-band configuration
- From: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
- Date: Fri, 06 Jul 2012 09:34:38 +0200
- Cc: linux-wireless@xxxxxxxxxxxxxxx
- In-reply-to: <CA+XVXff3_ugusQ=HPVeg3YSp3OBjWwpCVHTxd+Tnxg5Rf_5W3w@mail.gmail.com> (sfid-20120706_093100_730065_1B87DFED)
On Fri, 2012-07-06 at 10:30 +0300, Arik Nemtsov wrote:
> >> Also putting ht_cap_invalid inside the struct creates strange corner
> >> cases. One could mark the vif ht_cap as invalid as well, but the code
> >> would just ignore it.
> >
> > Good point. But then let's just move it out and change drivers ...
> > that's much cleaner I think.
>
> You mean move out ht_supported?
Yeah, I think that'd make more sense? Have it in the sband directly.
> >> >> @@ -30,13 +31,16 @@ rdev_freq_to_chan(struct cfg80211_registered_device *rdev,
> >> >> chan->flags & IEEE80211_CHAN_NO_HT40PLUS)
> >> >> return NULL;
> >> >>
> >> >> - ht_cap = &rdev->wiphy.bands[chan->band]->ht_cap;
> >> >> + sband = rdev->wiphy.bands[chan->band];
> >> >> + ht_cap = &sband->ht_cap;
> >> >>
> >> >> if (channel_type != NL80211_CHAN_NO_HT) {
> >> >> - if (!ht_cap->ht_supported)
> >> >> + if (!sband->ht_supported)
> >> >> return NULL;
> >> >>
> >> >> - if (channel_type != NL80211_CHAN_HT20 &&
> >> >> + /* this check is ignored when per-band HT caps are not used */
> >> >> + if (!sband->ht_cap_invalid &&
> >> >> + channel_type != NL80211_CHAN_HT20 &&
> >> >
> >> > This is also major confusion, it seems you should roll 2/3 into one
> >> > patch?
> >>
> >> I'm not sure that would help. rdev_freq_to_chan doesn't get the
> >> net_device, so it can't get the HT caps. I guess I can add the
> >> net_device as an optional argument where it is used and check the
> >> caps. OTOH it seem like a sanity check we can do without?
> >
> > I don't think we should do without that check? If you request say AP
> > operation on 40 MHz then you absolutely rely on that happening or
> > returning an error, not randomly operating in legacy mode!
>
> Sure. I'll send the netdev to the function where possible (I think
> everywhere except the virtual monitor).
I think the function should restrict to NO_HT in case it doesn't have
caps, otherwise it can't properly restrict. I suppose that means you
won't be able to do HT monitoring with your device, but I can live with
that.
johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux Kernel]
[Linux Bluetooth]
[Linux Netdev]
[Kernel Newbies]
[Share Photos]
[IDE]
[Security]
[Git]
[Netfilter]
[Bugtraq]
[Photo]
[Yosemite]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Linux ATA RAID]
[Samba]
[Video 4 Linux]
[Device Mapper]
[Linux Resources]
[Free Dating]
[M2M Wireless]