diff options
author | Pontus Fuchs <pontus.fuchs@gmail.com> | 2011-12-30 10:19:35 +0100 |
---|---|---|
committer | Arik Nemtsov <arik@wizery.com> | 2012-08-02 13:03:59 +0300 |
commit | e37b3c4d5c381526af9cff438eacebbf2b6715d6 (patch) | |
tree | 2003593ad716a08a29b127da9112ee2964037154 | |
parent | f9a7551a806135f6339cb42137849165bb360c49 (diff) | |
download | external_wpa_supplicant_8_ti-e37b3c4d5c381526af9cff438eacebbf2b6715d6.zip external_wpa_supplicant_8_ti-e37b3c4d5c381526af9cff438eacebbf2b6715d6.tar.gz external_wpa_supplicant_8_ti-e37b3c4d5c381526af9cff438eacebbf2b6715d6.tar.bz2 |
driver_nl80211: Enable only unicast RXFILTER by default
In GB the framework always enabled RXFILTER for unicast
and bcast. This seems to be missing in ICS so enable
unicast by default as this is always required.
Signed-off-by: Pontus Fuchs <pontus.fuchs@gmail.com>
Signed-off-by: Eyal Shapira <eyal@wizery.com>
-rw-r--r-- | src/drivers/driver_nl80211.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index 59d278e..86ce8bf 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -9035,6 +9035,7 @@ static int nl80211_set_wowlan_triggers(struct i802_bss *bss, int enable) struct nl_msg *msg, *pats = NULL; struct nlattr *wowtrig, *pat; int i, ret = -1; + int filters; bss->drv->wowlan_enabled = !!enable; @@ -9062,12 +9063,20 @@ static int nl80211_set_wowlan_triggers(struct i802_bss *bss, int enable) goto nla_put_failure; } + /* + * In GB filters 0 and 1 are always set but in ICS they + * were completely removed. Add filter 0 (unicast) by default + * so unicast traffic won't be dropped in any case. + */ + + filters = bss->drv->wowlan_triggers |= 1; + for (i = 0; i < NR_RX_FILTERS; i++) { struct rx_filter *rx_filter = &rx_filters[i]; int patnr = 1; u8 *pattern; - if (!(bss->drv->wowlan_triggers & (1 << i))) + if (!(filters & (1 << i))) continue; pattern = nl80211_rx_filter_get_pattern(rx_filter, bss); |