All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Simon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de>
Cc: linux-wireless@vger.kernel.org, victorg@ti.com,
	linville@tuxdriver.com, kgiori@qca.qualcomm.com,
	zefir.kurtisi@neratec.com, adrian@freebsd.org, j@w1.fi,
	coelho@ti.com, igalc@ti.com, nbd@nbd.name,
	mathias.kretschmer@fokus.fraunhofer.de,
	Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Subject: Re: [PATCHv7 1/3] nl80211/cfg80211: add radar detection command/event
Date: Fri, 01 Feb 2013 10:54:08 +0100	[thread overview]
Message-ID: <1359712448.8528.2.camel@jlt4.sipsolutions.net> (raw)
In-Reply-To: <20130131174443.GB2018@pandem0nium>

On Thu, 2013-01-31 at 18:44 +0100, Simon Wunderlich wrote:

> "If the master device has detected a radar signal on an Operating Channel during In-Service Monitoring, the
> master device shall instruct all its associated slave devices to stop transmitting on this channel which becomes
> an Unavailable Channel. For devices operating on multiple (adjacent or non-adjacent) Operating Channels
> simultaneously, only the Operating Channel containing the frequency on which radar was detected shall
> become an Unavailable Channel."
> 
> At least in ath9k it appears that the radar header contains some information whether
> the radar was received on the primary or extension channel.
> 
> I don't know how upcoming 80 MHz devices handle that though.
> 
> We can remove it now and re-add it later if you prefer?

No no, it's fine, I was just wondering.

> > > Hmm, actually I've tried setting the frequency with iw and got a EINVAL back.
> > > I'll look into it again if I missed something, but thought it would be good to
> > > not have this stuff redundant.
> > 
> > Ok. Hmm. EINVAL? Maybe you tried setting to a radar frequency or
> > something? Can you try setting to say channel 1? I don't think you
> > changed __nl80211_set_channel() to check cac_started, so ...
> > 
> 
> I can try again ... but maybe this is obsolete when using wdev->channel.

Yes, then you'd not have the problem.

> > > > > +	err = cfg80211_chandef_dfs_required(wdev->wiphy, &chandef);
> > > > > +	if (err < 1)
> > > > > +		return err;
> > > > 
> > > > That doesn't make sense, if userspace starts CAC and that is successful
> > > > it would expect to eventually receive an event that it completed? Thus
> > > > if you return 0 here it would get confused, no?
> > > > 
> > > 
> > > Ah yes, I should probably return EINVAL in this case, or the appropriate
> > > error code otherwise ... 
> > 
> > Maybe return some more useful error code? Can't really find any one that
> > is appropriate though.
> 
> We should add EUSELESS. :D
> Can't think of anything better, so will keep it at EINVAL until someone has
> a better idea.

:)

> > [...]
> > > > > @@ -884,6 +884,9 @@ static void handle_channel(struct wiphy *wiphy,
> > > > >  		return;
> > > > >  	}
> > > > >  
> > > > > +	chan->dfs_state = IEEE80211_DFS_USABLE;
> > > > > +	chan->dfs_state_entered = jiffies;
> > > > 
> > > > Here also you don't really need the time assignment.
> > > > 
> > > > (I skipped this before, so pasting here)
> > > > 
> > > 
> > > Hm, aren't channels initialized in this function? I wanted to set some
> > > sane values here - although time is not relevant for the USABLE state,
> > > I thought it might be useful if this info is exported to userspace or
> > > for debugging.
> > 
> > Maybe so, I just don't think you need the time there since it won't be
> > of relevance in the USABLE state. The "state entered" time is only used
> > for UNAVAILABLE.
> > 
> > Maybe therefore state_entered should be renamed to "unavailable_until"
> > with the corresponding change in the logic of adding the time when it's
> > set to that state?
> 
> Can do that, if no one is interested in when we, say, change from unavailable
> to usable (after NOP). This is what Zefir asked for. 
> 
> Personally I don't care at all, and we discuss that in the cover letter thread
> anyway. Let's see what Zefir says or if anyone else objects, I put that onto
> the "TODO if nobody objects list". :)

Heh. Ok I see Zefir's argument, so I guess that's reasonable. I just
didn't see a use for it in the kernel so was wondering.

johannes


  parent reply	other threads:[~2013-02-01  9:53 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-29 12:21 [PATCHv7 0/3] Add DFS master ability Simon Wunderlich
2013-01-29 12:21 ` [PATCHv7 1/3] nl80211/cfg80211: add radar detection command/event Simon Wunderlich
2013-01-29 13:48   ` Zefir Kurtisi
2013-01-29 14:36     ` Simon Wunderlich
2013-01-30 11:51       ` Zefir Kurtisi
2013-01-30 16:25         ` Simon Wunderlich
2013-01-31  8:52           ` Zefir Kurtisi
2013-01-31 17:54             ` Simon Wunderlich
2013-02-01 10:08               ` Zefir Kurtisi
2013-02-13 14:47                 ` Simon Wunderlich
2013-01-31 14:25   ` Johannes Berg
2013-01-31 16:13     ` Simon Wunderlich
2013-01-31 16:46       ` Johannes Berg
2013-01-31 17:44         ` Simon Wunderlich
2013-02-01  9:40           ` Zefir Kurtisi
2013-02-01  9:54           ` Johannes Berg [this message]
2013-01-29 12:21 ` [PATCHv7 2/3] mac80211: " Simon Wunderlich
2013-01-29 13:26   ` Zefir Kurtisi
2013-01-29 14:43     ` Simon Wunderlich
2013-01-31 14:44   ` Johannes Berg
2013-01-31 16:31     ` Simon Wunderlich
2013-01-31 16:48       ` Johannes Berg
2013-01-31 17:47         ` Simon Wunderlich
2013-02-01  9:57           ` Johannes Berg
2013-02-02 22:15             ` Simon Wunderlich
2013-02-04 17:32               ` Johannes Berg
2013-02-05  8:44                 ` Simon Wunderlich
2013-02-05  9:35                   ` Johannes Berg
2013-02-05 10:03                     ` Simon Wunderlich
2013-01-29 12:22 ` [PATCHv7 3/3] nl80211: allow DFS in start_ap Simon Wunderlich
2013-01-29 13:14 ` [PATCHv7 0/3] Add DFS master ability Zefir Kurtisi
2013-01-29 14:52   ` Simon Wunderlich
2013-01-31 16:50 ` Johannes Berg
2013-01-31 17:21   ` Simon Wunderlich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1359712448.8528.2.camel@jlt4.sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=adrian@freebsd.org \
    --cc=coelho@ti.com \
    --cc=igalc@ti.com \
    --cc=j@w1.fi \
    --cc=kgiori@qca.qualcomm.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=mathias.kretschmer@fokus.fraunhofer.de \
    --cc=nbd@nbd.name \
    --cc=simon.wunderlich@s2003.tu-chemnitz.de \
    --cc=siwu@hrz.tu-chemnitz.de \
    --cc=victorg@ti.com \
    --cc=zefir.kurtisi@neratec.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.