Linux wireless drivers development
 help / color / mirror / Atom feed
From: Rajkumar Manoharan <rmanoharan@atheros.com>
To: <linux-wireless@vger.kernel.org>
Cc: Rajkumar Manoharan <rmanoharan@atheros.com>
Subject: [RFC] mac80211: reset connection poll on receiving unicast data frames
Date: Tue, 18 Jan 2011 19:14:45 +0530	[thread overview]
Message-ID: <1295358285-9336-1-git-send-email-rmanoharan@atheros.com> (raw)

In noisy channel conditions, some APs do not reply to probe
requests which results in STA disconnection. It is perfectly
fine to reset the connection polling if unicast frames are
received from that AP properly.

The reason behind to reset connection poll on unicast data
frames alone is that to preserve the PS recalculation on receiving
probe response.

This disconnection issue was reported with some buggy APs in noisy
environment, with the devices that does not support
IEEE80211_HW_REPORTS_TX_ACK_STATUS and running heavy downlink
unicast traffic from DS to STA. The probe response that was not
seen for the request sent followed by scan completion.

Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com>
---
 net/mac80211/mlme.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 45fbb9e..03d6cfc 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -141,6 +141,7 @@ void ieee80211_sta_reset_conn_monitor(struct ieee80211_sub_if_data *sdata)
 		  round_jiffies_up(jiffies + IEEE80211_CONNECTION_IDLE_TIME));
 
 	ifmgd->probe_send_count = 0;
+	ifmgd->flags &= ~IEEE80211_STA_CONNECTION_POLL;
 }
 
 static int ecw2cw(int ecw)
@@ -1033,7 +1034,8 @@ void ieee80211_sta_rx_notify(struct ieee80211_sub_if_data *sdata,
 	if (is_multicast_ether_addr(hdr->addr1))
 		return;
 
-	ieee80211_sta_reset_conn_monitor(sdata);
+	if (ieee80211_is_data(hdr->frame_control))
+		ieee80211_sta_reset_conn_monitor(sdata);
 }
 
 static void ieee80211_reset_ap_probe(struct ieee80211_sub_if_data *sdata)
-- 
1.7.3.5


             reply	other threads:[~2011-01-18 13:45 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-18 13:44 Rajkumar Manoharan [this message]
2011-01-18 13:51 ` [RFC] mac80211: reset connection poll on receiving unicast data frames Johannes Berg
2011-01-18 14:10   ` Rajkumar Manoharan

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=1295358285-9336-1-git-send-email-rmanoharan@atheros.com \
    --to=rmanoharan@atheros.com \
    --cc=linux-wireless@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox