linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Felix Fietkau <nbd@openwrt.org>
Cc: <linux-wireless@vger.kernel.org>, <linville@tuxdriver.com>
Subject: Re: [PATCH] mac80211: use nullfunc instead of probe request for connection monitoring
Date: Fri, 19 Nov 2010 06:58:03 +0100	[thread overview]
Message-ID: <b18357d5d26e318178407a9133214709@localhost> (raw)
In-Reply-To: <1290141756-37252-1-git-send-email-nbd@openwrt.org>

On Fri, 19 Nov 2010 05:42:36 +0100, Felix Fietkau <nbd@openwrt.org> wrote:
> +	if (!(ifmgd->flags & (IEEE80211_STA_BEACON_POLL |
> +			     IEEE80211_STA_CONNECTION_POLL)))
> +	    return;

Some whitespace issues here and some other places?

> +	if (sdata->local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS)
> +		ieee80211_send_nullfunc(sdata->local, sdata, 0);

Hmm, should that really be 0 always? Could it be racy either way?
I think that probably needs some analysis.

> +	else {
> +		ssid = ieee80211_bss_get_ie(ifmgd->associated, WLAN_EID_SSID);
> +		ieee80211_send_probe_req(sdata, dst, ssid + 2, ssid[1], NULL, 0);
> +	}
>  
>  	ifmgd->probe_send_count++;
>  	ifmgd->probe_timeout = jiffies + IEEE80211_PROBE_WAIT;
> @@ -1509,29 +1562,8 @@ static void ieee80211_rx_mgmt_probe_resp(struct
> ieee80211_sub_if_data *sdata,
>  	ieee80211_rx_bss_info(sdata, mgmt, len, rx_status, &elems, false);
>  
>  	if (ifmgd->associated &&
> -	    memcmp(mgmt->bssid, ifmgd->associated->bssid, ETH_ALEN) == 0 &&
> -	    ifmgd->flags & (IEEE80211_STA_BEACON_POLL |
> -			    IEEE80211_STA_CONNECTION_POLL)) {
> -		ifmgd->flags &= ~(IEEE80211_STA_CONNECTION_POLL |
> -				  IEEE80211_STA_BEACON_POLL);
> -		mutex_lock(&sdata->local->iflist_mtx);
> -		ieee80211_recalc_ps(sdata->local, -1);
> -		mutex_unlock(&sdata->local->iflist_mtx);
> -
> -		if (sdata->local->hw.flags & IEEE80211_HW_CONNECTION_MONITOR)
> -			return;
> -
> -		/*
> -		 * We've received a probe response, but are not sure whether
> -		 * we have or will be receiving any beacons or data, so let's
> -		 * schedule the timers again, just in case.
> -		 */
> -		ieee80211_sta_reset_beacon_monitor(sdata);
> -
> -		mod_timer(&ifmgd->conn_mon_timer,
> -			  round_jiffies_up(jiffies +
> -					   IEEE80211_CONNECTION_IDLE_TIME));
> -	}
> +	    memcmp(mgmt->bssid, ifmgd->associated->bssid, ETH_ALEN) == 0)
> +		ieee80211_reset_ap_probe(sdata);

Not sure I get this part...

> +	if ((sdata->vif.type == NL80211_IFTYPE_STATION) &&
> +		(local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS))
> +		ieee80211_sta_tx_notify(sdata, (void *) skb->data);

more whitespace weirdness

johannes

  reply	other threads:[~2010-11-19  5:58 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-19  4:42 [PATCH] mac80211: use nullfunc instead of probe request for connection monitoring Felix Fietkau
2010-11-19  5:58 ` Johannes Berg [this message]
2010-11-19 12:43   ` Felix Fietkau
2010-11-19 17:54     ` 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=b18357d5d26e318178407a9133214709@localhost \
    --to=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=nbd@openwrt.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).