Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6
[cascardo/linux.git] / drivers / net / wireless / ath / ath9k / htc_drv_main.c
index 7b77968..7212acb 100644 (file)
@@ -1294,11 +1294,16 @@ static void ath9k_htc_configure_filter(struct ieee80211_hw *hw,
        u32 rfilt;
 
        mutex_lock(&priv->mutex);
-       ath9k_htc_ps_wakeup(priv);
-
        changed_flags &= SUPPORTED_FILTERS;
        *total_flags &= SUPPORTED_FILTERS;
 
+       if (priv->op_flags & OP_INVALID) {
+               ath_dbg(ath9k_hw_common(priv->ah), ATH_DBG_ANY,
+                       "Unable to configure filter on invalid state\n");
+               return;
+       }
+       ath9k_htc_ps_wakeup(priv);
+
        priv->rxfilter = *total_flags;
        rfilt = ath9k_htc_calcrxfilter(priv);
        ath9k_hw_setrxfilter(priv->ah, rfilt);