diff options
author | Iain Hunter <drhunter95@gmail.com> | 2017-02-09 14:37:28 +0000 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2017-02-15 11:10:41 +0200 |
commit | 1f8665320fa1a232fda22bcc7f88daeb83628385 (patch) | |
tree | ddc075d77b19a906857af2e9da1e3a4ac89eeb58 /drivers/net/wireless/ti | |
parent | 3b03cc0783b03ddd668ff3f86419bc67d0664e89 (diff) |
wlcore: disable multicast filter in AP mode
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>
Diffstat (limited to 'drivers/net/wireless/ti')
-rw-r--r-- | drivers/net/wireless/ti/wlcore/main.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c index e536aa01b937..a21fda910529 100644 --- a/drivers/net/wireless/ti/wlcore/main.c +++ b/drivers/net/wireless/ti/wlcore/main.c @@ -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; + } + } } /* |