summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
diff options
context:
space:
mode:
authorShanyu Zhao2010-12-02 20:02:28 +0100
committerWey-Yi Guy2010-12-14 00:51:18 +0100
commitae0b693c12cc78913085733d28e0e0e6020db6f4 (patch)
tree7a233a302342c0d284c2ad5385122d923552c5e5 /drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
parentiwlwifi: clear dbg_fixed_rate during init (diff)
downloadkernel-qcow2-linux-ae0b693c12cc78913085733d28e0e0e6020db6f4.tar.gz
kernel-qcow2-linux-ae0b693c12cc78913085733d28e0e0e6020db6f4.tar.xz
kernel-qcow2-linux-ae0b693c12cc78913085733d28e0e0e6020db6f4.zip
iwlagn: check ready in iwlagn_bss_info_changed()
In function iwlagn_bss_info_changed(), we need to check if the driver is ready before doing real work. Also, the previously put WARN() is removed because the vif is not guaranteed to be valid. uCode restart routine will clear the vif. Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn-rxon.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-rxon.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
index 4865b82355d7..769479eb6ea9 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
@@ -518,7 +518,14 @@ void iwlagn_bss_info_changed(struct ieee80211_hw *hw,
mutex_lock(&priv->mutex);
- if (WARN_ON(!ctx->vif)) {
+ if (unlikely(!iwl_is_ready(priv))) {
+ IWL_DEBUG_MAC80211(priv, "leave - not ready\n");
+ mutex_unlock(&priv->mutex);
+ return;
+ }
+
+ if (unlikely(!ctx->vif)) {
+ IWL_DEBUG_MAC80211(priv, "leave - vif is NULL\n");
mutex_unlock(&priv->mutex);
return;
}