Message ID | 4DC13CC5.9050909@lri.fr (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On Wednesday 04 May 2011 11:47:17 Nicolas Cavallari wrote: > 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: Nicolas Cavallari <cavallar@lri.fr> Acked-by: Christian Lamparter <chunkeey@googlemail.com> [Just a minor niggle] > --- > diff --git a/drivers/net/wireless/ath/carl9170/main.c b/drivers/net/wireless/ath/carl9170/main.c > index 1638468..7d5c65e 100644 > --- a/drivers/net/wireless/ath/carl9170/main.c > +++ b/drivers/net/wireless/ath/carl9170/main.c > @@ -883,7 +883,7 @@ static void carl9170_op_configure_filter(struct > ieee80211_hw *hw, > * then checking the error flags, later. > */ > > - if (changed_flags& FIF_ALLMULTI&& *new_flags& FIF_ALLMULTI) ^^^ ^^^ ^^^ It looks like your mailer realigned the spaces around the operators and added a line-wrap so it won't apply without some help. Can you fix the problem and send the patch again? Thanks, Christian -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/wireless/ath/carl9170/main.c b/drivers/net/wireless/ath/carl9170/main.c index 1638468..7d5c65e 100644 --- a/drivers/net/wireless/ath/carl9170/main.c +++ b/drivers/net/wireless/ath/carl9170/main.c @@ -883,7 +883,7 @@ static void carl9170_op_configure_filter(struct ieee80211_hw *hw, * then checking the error flags, later. */ - if (changed_flags& FIF_ALLMULTI&& *new_flags& FIF_ALLMULTI) + if (*new_flags& FIF_ALLMULTI) multicast = ~0ULL;
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: Nicolas Cavallari <cavallar@lri.fr> --- if (multicast != ar->cur_mc_hash) -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html