diff options
author | David S. Miller <davem@davemloft.net> | 2010-01-13 08:33:49 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-01-13 08:33:49 +0300 |
commit | ff30b3642c1f56a5ae6522b78e82be867086c637 (patch) | |
tree | 160f2dfd9d98a0d64ba9eb01574888b04905b58d /drivers/net/wireless/zd1211rw/zd_mac.c | |
parent | 9db2f1bec36805e57a003f7bb90e003815d96de8 (diff) | |
parent | 8c5d9808e95739c9001b852464fd58fd0f583280 (diff) | |
download | linux-ff30b3642c1f56a5ae6522b78e82be867086c637.tar.xz |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Diffstat (limited to 'drivers/net/wireless/zd1211rw/zd_mac.c')
-rw-r--r-- | drivers/net/wireless/zd1211rw/zd_mac.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c index 8ebf5c33955d..f14deb0c8514 100644 --- a/drivers/net/wireless/zd1211rw/zd_mac.c +++ b/drivers/net/wireless/zd1211rw/zd_mac.c @@ -987,12 +987,13 @@ static void zd_op_configure_filter(struct ieee80211_hw *hw, changed_flags &= SUPPORTED_FIF_FLAGS; *new_flags &= SUPPORTED_FIF_FLAGS; - /* changed_flags is always populated but this driver - * doesn't support all FIF flags so its possible we don't - * need to do anything */ - if (!changed_flags) - return; - + /* + * If multicast parameter (as returned by zd_op_prepare_multicast) + * has changed, no bit in changed_flags is set. To handle this + * situation, we do not return if changed_flags is 0. If we do so, + * we will have some issue with IPv6 which uses multicast for link + * layer address resolution. + */ if (*new_flags & (FIF_PROMISC_IN_BSS | FIF_ALLMULTI)) zd_mc_add_all(&hash); |