diff options
author | Ivo van Doorn <ivdoorn@gmail.com> | 2007-10-06 08:13:38 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:55:10 -0400 |
commit | 5886d0dbf5b4226c6b6c8c44c555c5dd83c67b02 (patch) | |
tree | ec47ec07e93b548f5852465f4ab0266f0284bac3 /drivers/net/wireless/rt2x00/rt2400pci.c | |
parent | 483272f5ee968b25172b80bd2d27e37fef1dcc3a (diff) |
[PATCH] rt2x00: Don't use changed_flags inside configure_packet_filter
We shouldn't use changed_flags when configuring the packet filter,
we work directly with the total_flags which is safe enough since
we already check if something has changed after we applied our
packet filtering flag rules.
Also make sure that when the packet filter is scheduled, the
rt2x00dev->interface.filter is cleared to make sure the drivers
will update the packet filter instead of failing at the check:
*total_flags == rt2x00dev->interface.filter
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2400pci.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2400pci.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2400pci.c b/drivers/net/wireless/rt2x00/rt2400pci.c index 7b2a85ade135..e3cac0f26d7b 100644 --- a/drivers/net/wireless/rt2x00/rt2400pci.c +++ b/drivers/net/wireless/rt2x00/rt2400pci.c | |||
@@ -1497,8 +1497,8 @@ static void rt2400pci_configure_filter(struct ieee80211_hw *hw, | |||
1497 | * - Some filters are set based on interface type. | 1497 | * - Some filters are set based on interface type. |
1498 | */ | 1498 | */ |
1499 | *total_flags |= FIF_ALLMULTI; | 1499 | *total_flags |= FIF_ALLMULTI; |
1500 | if (changed_flags & FIF_OTHER_BSS || | 1500 | if (*total_flags & FIF_OTHER_BSS || |
1501 | changed_flags & FIF_PROMISC_IN_BSS) | 1501 | *total_flags & FIF_PROMISC_IN_BSS) |
1502 | *total_flags |= FIF_PROMISC_IN_BSS | FIF_OTHER_BSS; | 1502 | *total_flags |= FIF_PROMISC_IN_BSS | FIF_OTHER_BSS; |
1503 | if (is_interface_type(intf, IEEE80211_IF_TYPE_AP)) | 1503 | if (is_interface_type(intf, IEEE80211_IF_TYPE_AP)) |
1504 | *total_flags |= FIF_PROMISC_IN_BSS; | 1504 | *total_flags |= FIF_PROMISC_IN_BSS; |