Commit 8f7f3b2f authored by Nicolas Cavallari's avatar Nicolas Cavallari Committed by John W. Linville

carl9170: fix allmulticast mode

Currently, the driver only disable multicast filtering when the
FIF_ALLMULTI driver flag has been just set (ie,
if changed_flags& FIF_ALLMULTI and *new_flags& FIF_ALLMULTI) or else
it will reenable multicast filtering.

But next time, this condition will be false and multicast filtering
will be reenabled, even through FIF_ALLMULTI is still set.

This mean that allmulticast only works for less than two minutes in
ad-hoc mode.  This patch fixes that to disable multicast filtering
as long as FIF_ALLMULTI is set.
Signed-off-by: default avatarNicolas Cavallari  <cavallar@lri.fr>
Acked-by: default avatarChristian Lamparter <chunkeey@googlemail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 9b571e24
...@@ -883,7 +883,7 @@ static void carl9170_op_configure_filter(struct ieee80211_hw *hw, ...@@ -883,7 +883,7 @@ static void carl9170_op_configure_filter(struct ieee80211_hw *hw,
* then checking the error flags, later. * then checking the error flags, later.
*/ */
if (changed_flags & FIF_ALLMULTI && *new_flags & FIF_ALLMULTI) if (*new_flags & FIF_ALLMULTI)
multicast = ~0ULL; multicast = ~0ULL;
if (multicast != ar->cur_mc_hash) if (multicast != ar->cur_mc_hash)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment