clear flags always
authorEugene Konev <ejka@imfi.kspu.ru>
Tue, 16 Oct 2007 09:26:58 +0000 (09:26 +0000)
committerEugene Konev <ejka@imfi.kspu.ru>
Tue, 16 Oct 2007 09:26:58 +0000 (09:26 +0000)
SVN-Revision: 9331

package/acx-mac80211/patches/003-mac80211_fixes.diff

index 2a81a96..62052b3 100644 (file)
@@ -1,7 +1,7 @@
 Index: acx-mac80211-20071003/common.c
 ===================================================================
 --- acx-mac80211-20071003.orig/common.c        2007-10-15 21:33:40.000000000 +0800
-+++ acx-mac80211-20071003/common.c     2007-10-15 21:39:55.000000000 +0800
++++ acx-mac80211-20071003/common.c     2007-10-16 10:01:58.000000000 +0800
 @@ -1683,7 +1683,9 @@
  */
  void
@@ -17,12 +17,12 @@ Index: acx-mac80211-20071003/common.c
  
          acx_lock(adev, flags);
  
++        *total_flags &= (FIF_PROMISC_IN_BSS | FIF_ALLMULTI);
 +        if ((changed_flags & (FIF_PROMISC_IN_BSS | FIF_ALLMULTI)) == 0)
 +                return;
          /* firmwares don't have allmulti capability,
           * so just use promiscuous mode instead in this case. */
 -        if (netflags & (IFF_PROMISC | IFF_ALLMULTI)) {
-+        *total_flags &= (FIF_PROMISC_IN_BSS | FIF_ALLMULTI);
 +        if (*total_flags) {
                  SET_BIT(adev->rx_config_1, RX_CFG1_RCV_PROMISCUOUS);
                  CLEAR_BIT(adev->rx_config_1, RX_CFG1_FILTER_ALL_MULTI);