All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Greear <greearb@candelatech.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: linux-wireless@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH 08/10] mac80211: Support on-channel scan option.
Date: Thu, 12 Apr 2012 08:03:40 -0700	[thread overview]
Message-ID: <4F86EECC.4090805@candelatech.com> (raw)
In-Reply-To: <1334202356.3788.7.camel@jlt3.sipsolutions.net>

On 04/11/2012 08:45 PM, Johannes Berg wrote:
> On Wed, 2012-04-11 at 10:52 -0700, greearb@candelatech.com wrote:
>
>>   static int __ieee80211_start_scan(struct ieee80211_sub_if_data *sdata,
>>   				  struct cfg80211_scan_request *req)
>> @@ -438,10 +461,43 @@ static int __ieee80211_start_scan(struct ieee80211_sub_if_data *sdata,
>>   	local->scan_req = req;
>>   	local->scan_sdata = sdata;
>>
>> -	if (local->ops->hw_scan)
>> +	if (local->ops->hw_scan) {
>>   		__set_bit(SCAN_HW_SCANNING,&local->scanning);
>> -	else
>> -		__set_bit(SCAN_SW_SCANNING,&local->scanning);
>> +	} else {
>> +		/* If we are scanning only on the current channel, then
>> +		 * we do not need to stop normal activities
>> +		 */
>> +		if ((req->n_channels == 1)&&
>> +		    (req->channels[0]->center_freq ==
>> +		     local->hw.conf.channel->center_freq)) {
>
> how about "else if {", then the indentation isn't so deep and you can
> have much nicer code in the entire block :)
>
>> +			unsigned long next_delay;
>
> please add a blank line after variable declarations.
>
>> +		}
>> +		else {
>
> please read the coding style documentation
>
>> @@ -672,6 +704,12 @@ void ieee80211_scan_work(struct work_struct *work)
>>
>>   	sdata = local->scan_sdata;
>>
>> +	/* When scanning on-channel, the first-callback means completeed. */
>
> typo "completed"

Ok, will fix all of that.


>> +	if (test_bit(SCAN_ONCHANNEL_SCANNING,&local->scanning)) {
>> +		aborted = test_and_clear_bit(SCAN_ABORTED,&local->scanning);
>> +		goto out_complete;
>> +	}
>
> how does the onchannel bit get cleared?

__ieee80211_scan_completed sets local->scanning to 0, and it
will WARN_ON if local->scanning is NOT zero when entering
the method, so I don't think I should clear it earlier.

> Shouldn't you be calling pre/post scan hooks?

Probably so...I'll add that.  Doesn't look like ath9k uses
it, but maybe some other NIC does need it.

> I'm a bit divided over this. On the one hand, it seems like a mildly
> useful optimisation, on the other though it adds a bunch of complexity
> for multi-channel we've been thinking about... Not that we want to
> support multi-channel with SW scan anyway, but still.

It's just an optimization...maybe just add a check and do a regular scan
if multi-channel is active if it's difficult to just make it work with
multi-channel?

Thanks,
Ben

>
> johannes


-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com


  reply	other threads:[~2012-04-12 15:03 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-11 17:52 [PATCH 00/10] Wireless patches for wireless-testing greearb
2012-04-11 17:52 ` [PATCH 01/10] cfg80211: Add framework to support ethtool stats greearb
2012-04-11 17:52 ` [PATCH 02/10] mac80211: Support getting sta_info stats via ethtool greearb
2012-04-11 17:52 ` [PATCH 03/10] mac80211: Framework to get wifi-driver " greearb
2012-04-11 17:52 ` [PATCH 04/10] ath9k: Support ethtool getstats api greearb
2012-04-11 17:52 ` [PATCH 05/10] mac80211: Add more ethtools stats: survey, rates, etc greearb
2012-04-11 17:52   ` greearb-my8/4N5VtI7c+919tysfdA
2012-04-11 18:01   ` Ben Greear
2012-04-11 18:01     ` Ben Greear
2012-04-12  3:46   ` Johannes Berg
2012-04-12  3:46     ` Johannes Berg
2012-04-12 14:50     ` Ben Greear
2012-04-12 14:50       ` Ben Greear
2012-04-12 15:23     ` Ben Greear
2012-04-11 17:52 ` [PATCH 06/10] mac80211: Add sta_state to ethtool stats greearb
2012-04-11 17:52   ` greearb-my8/4N5VtI7c+919tysfdA
2012-04-12  3:49   ` Johannes Berg
2012-04-12 14:48     ` Ben Greear
2012-04-11 17:52 ` [PATCH 07/10] ath9k: Add tx-failed counter greearb
2012-04-11 17:52 ` [PATCH 08/10] mac80211: Support on-channel scan option greearb
2012-04-11 17:52   ` greearb-my8/4N5VtI7c+919tysfdA
2012-04-12  3:45   ` Johannes Berg
2012-04-12 15:03     ` Ben Greear [this message]
2012-04-11 17:52 ` [PATCH 09/10] ath9k: Add more recv stats greearb
2012-04-11 17:52   ` greearb-my8/4N5VtI7c+919tysfdA
2012-04-11 17:52 ` [PATCH 10/10] ath9k: Gather and report IRQ sync_cause errors greearb
2012-04-12  3:39 ` [PATCH 00/10] Wireless patches for wireless-testing Johannes Berg
2012-04-12  3:39   ` Johannes Berg

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=4F86EECC.4090805@candelatech.com \
    --to=greearb@candelatech.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /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.