wlcore: disable multicast filter in AP mode
authorIain Hunter <drhunter95@gmail.com>
Thu, 9 Feb 2017 14:37:28 +0000 (14:37 +0000)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 15 Feb 2017 09:10:41 +0000 (11:10 +0200)
Enable AP support for allmulticast for MDNS. It can be enabled by bringing
up the interface with ip command with argument allmulticast on

Signed-off-by: Iain Hunter <i-hunter1@ti.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ti/wlcore/main.c

index e536aa0..a21fda9 100644 (file)
@@ -3202,6 +3202,21 @@ static void wl1271_op_configure_filter(struct ieee80211_hw *hw,
                        if (ret < 0)
                                goto out_sleep;
                }
+
+               /*
+                * If interface in AP mode and created with allmulticast then disable
+                * the firmware filters so that all multicast packets are passed
+                * This is mandatory for MDNS based discovery protocols 
+                */
+               if (wlvif->bss_type == BSS_TYPE_AP_BSS) {
+                       if (*total & FIF_ALLMULTI) {
+                               ret = wl1271_acx_group_address_tbl(wl, wlvif,
+                                                       false,
+                                                       NULL, 0);
+                               if (ret < 0)
+                                       goto out_sleep;
+                       }
+               }
        }
 
        /*