]> git.baikalelectronics.ru Git - kernel.git/commit
iwlagn: fix dangling scan request
authorJohannes Berg <johannes.berg@intel.com>
Thu, 22 Sep 2011 22:14:54 +0000 (15:14 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 27 Sep 2011 18:34:07 +0000 (14:34 -0400)
commitad263c420332606e5116f68550194160d2e7b453
treeb31915ea6ed5c70d79e3f94dd60603152c44fbc1
parentee74b177439125956d277c261e956ea1a7e640ff
iwlagn: fix dangling scan request

If iwl_scan_initiate() fails for any reason,
priv->scan_request and priv->scan_vif are left
dangling. This can lead to a crash later when
iwl_bg_scan_completed() tries to run a pending
scan request.

In practice, this seems to be very rare due to
the STATUS_SCANNING check earlier. That check,
however, is wrong -- it should allow a scan to
be queued when a reset/roc scan is going on.
When a normal scan is already going on, a new
one can't be issued by mac80211, so that code
can be removed completely. I introduced this
bug when adding off-channel support in commit
5f0f811d77d77abf81652cc3e101207cbf747873.

Cc: stable@kernel.org [3.0]
Reported-by: Peng Yan <peng.yan@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-scan.c