From: "Guy, Wey-Yi" <wey-yi.w.guy@intel.com>
To: Stanislaw Gruszka <sgruszka@redhat.com>
Cc: Johannes Berg <johannes@sipsolutions.net>,
"Chatre, Reinette" <reinette.chatre@intel.com>,
"John W. Linville" <linville@tuxdriver.com>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH 0/13] iwlwifi: rewrite iwl-scan.c to avoid race conditions
Date: Fri, 03 Sep 2010 08:04:53 -0700 [thread overview]
Message-ID: <1283526293.5211.18.camel@wwguy-ubuntu> (raw)
In-Reply-To: <1283515056-11523-1-git-send-email-sgruszka@redhat.com>
Hi Gruszka,
On Fri, 2010-09-03 at 04:57 -0700, Stanislaw Gruszka wrote:
> Avoid iwlwifi hardware scanning race conditions
> that may lead to not call ieee80211_scan_completed() (what in
> consequences gives "WARNING: at net/wireless/core.c:614
> wdev_cleanup_work+0xb7/0xf0"), or call iee80211_scan_completed() more
> then once (what gives " WARNING: at net/mac80211/scan.c:312
> ieee80211_scan_completed+0x5f/0x1f1").
>
> First problem (warning in wdev_cleanup_work) make any further scan
> request from cfg80211 are ignored by mac80211 with EBUSY error,
> hence NetworkManager can not perform successful scan and not allow
> to establish a new connection. So after suspend/resume (but maybe
> not only then) user is not able to connect to wireless network again.
>
> We can not rely on that the commands (start and abort scan) are
> successful. Even if they are successfully send to the hardware, we can
> not get back notification from firmware (i.e. firmware hung or was
> reseted), or we can get notification when we actually perform abort
> scan in driver code or after that.
>
> To assure we call ieee80211_scan_completed() only once when scan
> was started we use SCAN_SCANNING bit. Code path, which first clear
> STATUS_SCANNING bit will call ieee80211_scan_completed().
> We do this in many cases, in scan complete notification, scan
> abort, device down, etc. Each time we check SCANNING bit.
>
A lot of changes, great jobs. How much test you done for different
devices? Scan is a very important function and I am also not expert in
this area.
Thanks
Wey
next prev parent reply other threads:[~2010-09-03 15:05 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-03 11:57 [PATCH 0/13] iwlwifi: rewrite iwl-scan.c to avoid race conditions Stanislaw Gruszka
2010-09-03 11:57 ` [PATCH 01/13] iwlwifi: remove unused conf variables Stanislaw Gruszka
2010-09-03 11:57 ` [PATCH 02/13] iwlwifi: unify scan start checks Stanislaw Gruszka
2010-09-03 14:23 ` Guy, Wey-Yi
2010-09-03 14:25 ` Berg, Johannes
2010-09-06 7:30 ` Stanislaw Gruszka
2010-09-03 11:57 ` [PATCH 03/13] iwlwifi: move scan completed flags handling Stanislaw Gruszka
2010-09-03 14:29 ` Guy, Wey-Yi
2010-09-03 14:31 ` Berg, Johannes
2010-09-03 11:57 ` [PATCH 04/13] iwlwifi: cancel scan when down the device Stanislaw Gruszka
2010-09-03 12:07 ` Johannes Berg
2010-09-03 14:38 ` Guy, Wey-Yi
2010-09-06 7:32 ` Stanislaw Gruszka
2010-09-03 11:57 ` [PATCH 05/13] iwlwifi: use IWL_DEBUG_SCAN Stanislaw Gruszka
2010-09-03 11:57 ` [PATCH 06/13] iwlwifi: report scan completion when abort fail Stanislaw Gruszka
2010-09-03 11:57 ` [PATCH 07/13] iwlwifi: do not queue abort_scan work if can sleep Stanislaw Gruszka
2010-09-03 11:57 ` [PATCH 08/13] iwlwifi: avoid dropping muttex in iwl_scan_cancel_timeout Stanislaw Gruszka
2010-09-03 14:53 ` Guy, Wey-Yi
2010-09-06 7:33 ` Stanislaw Gruszka
2010-09-03 11:57 ` [PATCH 09/13] iwlwifi: rewrite scan completion Stanislaw Gruszka
2010-09-03 11:57 ` [PATCH 10/13] iwlwifi: force scan complete after timeout Stanislaw Gruszka
2010-09-03 12:15 ` Johannes Berg
2010-09-03 11:57 ` [PATCH 11/13] iwlwifi: assure we complete scan in scan_abort and scan_check works Stanislaw Gruszka
2010-09-03 11:57 ` [PATCH 12/13] iwlwifi: do not force complete scan too early Stanislaw Gruszka
2010-09-03 11:57 ` [PATCH 13/13] mac80211: wait for scan work complete before restarting hw Stanislaw Gruszka
2010-09-03 12:21 ` [PATCH 0/13] iwlwifi: rewrite iwl-scan.c to avoid race conditions Johannes Berg
2010-09-03 12:55 ` Stanislaw Gruszka
2010-09-03 13:11 ` Johannes Berg
2010-09-03 15:04 ` Guy, Wey-Yi [this message]
2010-09-06 7:37 ` Stanislaw Gruszka
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=1283526293.5211.18.camel@wwguy-ubuntu \
--to=wey-yi.w.guy@intel.com \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=reinette.chatre@intel.com \
--cc=sgruszka@redhat.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.