浏览代码

iwlwifi: assume vif is NULL for internal scans and non-NULL otherwise

The current practice of checking vif for NULL in one place but not
another seems to confuse some static checkers, smatch in particular.
Since vif will only be NULL in the case of internal scans, adjust the
checks accordingly.

Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
John W. Linville 15 年之前
父节点
当前提交
a6e492b9b5
共有 2 个文件被更改,包括 8 次插入2 次删除
  1. 4 1
      drivers/net/wireless/iwlwifi/iwl-agn-lib.c
  2. 4 1
      drivers/net/wireless/iwlwifi/iwl3945-base.c

+ 4 - 1
drivers/net/wireless/iwlwifi/iwl-agn-lib.c

@@ -1234,7 +1234,10 @@ void iwlagn_request_scan(struct iwl_priv *priv, struct ieee80211_vif *vif)
 
 
 		IWL_DEBUG_INFO(priv, "Scanning while associated...\n");
 		IWL_DEBUG_INFO(priv, "Scanning while associated...\n");
 		spin_lock_irqsave(&priv->lock, flags);
 		spin_lock_irqsave(&priv->lock, flags);
-		interval = vif ? vif->bss_conf.beacon_int : 0;
+		if (priv->is_internal_short_scan)
+			interval = 0;
+		else
+			interval = vif->bss_conf.beacon_int;
 		spin_unlock_irqrestore(&priv->lock, flags);
 		spin_unlock_irqrestore(&priv->lock, flags);
 
 
 		scan->suspend_time = 0;
 		scan->suspend_time = 0;

+ 4 - 1
drivers/net/wireless/iwlwifi/iwl3945-base.c

@@ -2881,7 +2881,10 @@ void iwl3945_request_scan(struct iwl_priv *priv, struct ieee80211_vif *vif)
 		IWL_DEBUG_INFO(priv, "Scanning while associated...\n");
 		IWL_DEBUG_INFO(priv, "Scanning while associated...\n");
 
 
 		spin_lock_irqsave(&priv->lock, flags);
 		spin_lock_irqsave(&priv->lock, flags);
-		interval = vif ? vif->bss_conf.beacon_int : 0;
+		if (priv->is_internal_short_scan)
+			interval = 0;
+		else
+			interval = vif->bss_conf.beacon_int;
 		spin_unlock_irqrestore(&priv->lock, flags);
 		spin_unlock_irqrestore(&priv->lock, flags);
 
 
 		scan->suspend_time = 0;
 		scan->suspend_time = 0;