mwl8k: add AP firmware handling to ->configure_filter()
authorLennert Buytenhek <buytenh@wantstofly.org>
Thu, 22 Oct 2009 18:21:36 +0000 (20:21 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 6 Nov 2009 21:54:39 +0000 (16:54 -0500)
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/mwl8k.c

index 59219fd..19c6bea 100644 (file)
@@ -3013,6 +3013,16 @@ static void mwl8k_configure_filter(struct ieee80211_hw *hw,
        struct mwl8k_priv *priv = hw->priv;
        struct mwl8k_cmd_pkt *cmd = (void *)(unsigned long)multicast;
 
+       /*
+        * AP firmware doesn't allow fine-grained control over
+        * the receive filter.
+        */
+       if (priv->ap_fw) {
+               *total_flags &= FIF_ALLMULTI | FIF_BCN_PRBRESP_PROMISC;
+               kfree(cmd);
+               return;
+       }
+
        /*
         * Enable hardware sniffer mode if FIF_CONTROL or
         * FIF_OTHER_BSS is requested.