mwl8k: add AP firmware handling to ->configure_filter()
Lennert Buytenhek [Thu, 22 Oct 2009 18:21:36 +0000 (20:21 +0200)]
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)
@@ -3014,6 +3014,16 @@ static void mwl8k_configure_filter(struct ieee80211_hw *hw,
        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.
         */