Browse Source

mwl8k: add AP firmware handling to ->configure_filter()

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Lennert Buytenhek 15 years ago
parent
commit
c0adae2caa
1 changed files with 10 additions and 0 deletions
  1. 10 0
      drivers/net/wireless/mwl8k.c

+ 10 - 0
drivers/net/wireless/mwl8k.c

@@ -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.