Search Linux Wireless

Re: [PATCH] mac80211: fix radar_enabled propagation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2014-04-08 at 11:24 +0200, Michal Kazior wrote:
> On 8 April 2014 10:36, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote:
> > On Fri, 2014-04-04 at 13:02 +0200, Michal Kazior wrote:
> >> If chandef had non-HT width it was possible for
> >> radar_enabled update to not be propagated properly
> >> through drv_config(). This happened because
> >> ieee80211_hw_conf_chan() would never see different
> >> local->hw.conf.chandef and local->_oper_chandef.
> >>
> >> This wasn't a problem with HT chandefs because
> >> _oper_chandef width is reset to non-HT in
> >> ieee80211_free_chanctx() making
> >> ieee80211_hw_conf_chan() to kick in.
> >>
> >> This problem led (at least) ath10k to not start
> >> CAC if prior CAC was cancelled and both CACs were
> >> requested for identical non-HT chandefs.
> >>
> >> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx>
> >> ---
> >>  net/mac80211/chan.c | 4 ++--
> >>  1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/net/mac80211/chan.c b/net/mac80211/chan.c
> >> index 122033d..b472daa 100644
> >> --- a/net/mac80211/chan.c
> >> +++ b/net/mac80211/chan.c
> >> @@ -269,7 +269,7 @@ ieee80211_new_chanctx(struct ieee80211_local *local,
> >>
> >>       if (!local->use_chanctx) {
> >>               local->_oper_chandef = *chandef;
> >> -             ieee80211_hw_config(local, 0);
> >> +             ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_CHANNEL);
> >
> > I'm not convinced that this is the right way to do this - couldn't
> > ieee80211_hw_conf_chan() detect the radar detection requirement change?
> 
> I agree but on the other hand propagating local->mtx locking
> requirement for using local->radar_detect_enabled in
> ieee80211_hw_conf_chan() (and thus ieee80211_hw_config()) is probably
> going to be a cascade of pain.

Hmm, ok. I guess I don't care all that much, I don't use this code path
any more ;-)

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




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux