diff mbox

carl9170: fix allmulticast mode

Message ID 4DC13CC5.9050909@lri.fr (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Nicolas Cavallari May 4, 2011, 11:47 a.m. UTC
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

Comments

Christian Lamparter May 4, 2011, 2:43 p.m. UTC | #1
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 mbox

Patch

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;