Index: chromeos/compat-wireless/drivers/net/wireless/iwlwifi/iwl-core.c |
diff --git a/chromeos/compat-wireless/drivers/net/wireless/iwlwifi/iwl-core.c b/chromeos/compat-wireless/drivers/net/wireless/iwlwifi/iwl-core.c |
index 2c03c6e20a72d73ded70f8c96d37bfce6aa8e263..e23c4060a0f093e966ca355af1d466880f65b0ee 100644 |
--- a/chromeos/compat-wireless/drivers/net/wireless/iwlwifi/iwl-core.c |
+++ b/chromeos/compat-wireless/drivers/net/wireless/iwlwifi/iwl-core.c |
@@ -1328,51 +1328,6 @@ out: |
EXPORT_SYMBOL(iwl_apm_init); |
- |
-void iwl_configure_filter(struct ieee80211_hw *hw, |
- unsigned int changed_flags, |
- unsigned int *total_flags, |
- u64 multicast) |
-{ |
- struct iwl_priv *priv = hw->priv; |
- __le32 filter_or = 0, filter_nand = 0; |
- |
-#define CHK(test, flag) do { \ |
- if (*total_flags & (test)) \ |
- filter_or |= (flag); \ |
- else \ |
- filter_nand |= (flag); \ |
- } while (0) |
- |
- IWL_DEBUG_MAC80211(priv, "Enter: changed: 0x%x, total: 0x%x\n", |
- changed_flags, *total_flags); |
- |
- CHK(FIF_OTHER_BSS | FIF_PROMISC_IN_BSS, RXON_FILTER_PROMISC_MSK); |
- CHK(FIF_CONTROL, RXON_FILTER_CTL2HOST_MSK); |
- CHK(FIF_BCN_PRBRESP_PROMISC, RXON_FILTER_BCON_AWARE_MSK); |
- |
-#undef CHK |
- |
- mutex_lock(&priv->mutex); |
- |
- priv->staging_rxon.filter_flags &= ~filter_nand; |
- priv->staging_rxon.filter_flags |= filter_or; |
- |
- iwlcore_commit_rxon(priv); |
- |
- mutex_unlock(&priv->mutex); |
- |
- /* |
- * Receiving all multicast frames is always enabled by the |
- * default flags setup in iwl_connection_init_rx_config() |
- * since we currently do not support programming multicast |
- * filters into the device. |
- */ |
- *total_flags &= FIF_OTHER_BSS | FIF_ALLMULTI | FIF_PROMISC_IN_BSS | |
- FIF_BCN_PRBRESP_PROMISC | FIF_CONTROL; |
-} |
-EXPORT_SYMBOL(iwl_configure_filter); |
- |
int iwl_set_hw_params(struct iwl_priv *priv) |
{ |
priv->hw_params.max_rxq_size = RX_QUEUE_SIZE; |
@@ -2658,6 +2613,11 @@ int iwl_force_reset(struct iwl_priv *priv, int mode, bool external) |
if (test_bit(STATUS_EXIT_PENDING, &priv->status)) |
return -EINVAL; |
+ if (test_bit(STATUS_SCANNING, &priv->status)) { |
+ IWL_DEBUG_INFO(priv, "scan in progress.\n"); |
+ return -EINVAL; |
+ } |
+ |
if (mode >= IWL_MAX_FORCE_RESET) { |
IWL_DEBUG_INFO(priv, "invalid reset request.\n"); |
return -EINVAL; |