From patchwork Thu Jul 23 22:49:37 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luis Rodriguez X-Patchwork-Id: 37033 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n6NMngGR021687 for ; Thu, 23 Jul 2009 22:49:42 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752461AbZGWWtk (ORCPT ); Thu, 23 Jul 2009 18:49:40 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752457AbZGWWtk (ORCPT ); Thu, 23 Jul 2009 18:49:40 -0400 Received: from mail.atheros.com ([12.36.123.2]:10297 "EHLO mail.atheros.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752158AbZGWWtj (ORCPT ); Thu, 23 Jul 2009 18:49:39 -0400 Received: from mail.atheros.com ([10.10.20.105]) by sidewinder.atheros.com for ; Thu, 23 Jul 2009 15:49:40 -0700 Received: from smtp.atheros.com (10.10.18.125) by SC1EXHC-01.global.atheros.com (10.10.20.106) with Microsoft SMTP Server (TLS) id 8.0.751.0; Thu, 23 Jul 2009 15:49:39 -0700 Received: by smtp.atheros.com (sSMTP sendmail emulation); Thu, 23 Jul 2009 15:49:38 -0700 From: "Luis R. Rodriguez" To: , CC: , , "Luis R. Rodriguez" Subject: [PATCH] mac80211: do not trigger beacon loss work if scanning Date: Thu, 23 Jul 2009 15:49:37 -0700 Message-ID: <1248389377-30379-1-git-send-email-lrodriguez@atheros.com> X-Mailer: git-send-email 1.6.3.3 MIME-Version: 1.0 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org We were issues probe requests to the associated AP on the wrong band by having our beacon timer loss trigger while we are scanning. When we would scan the timer could hit and force us to send a probe request to the AP but with a chance we'd be on the wrong band. This leads to finding no usable bitrate but we should not get so far on the xmit path. We should not be trying to send these probe request frames so prevent the timer from stuffing beacon loss work on the mac80211 workqueue when scanning. Tested-by: Fabio Rossi Signed-off-by: Luis R. Rodriguez --- net/mac80211/mlme.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 523c0d9..e90992e 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -2187,7 +2187,7 @@ static void ieee80211_sta_bcn_mon_timer(unsigned long data) (struct ieee80211_sub_if_data *) data; struct ieee80211_local *local = sdata->local; - if (local->quiescing) + if (local->quiescing || local->sw_scanning || local->hw_scanning) return; queue_work(sdata->local->hw.workqueue,