Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 66973
b: refs/heads/master
c: 5886d0d
h: refs/heads/master
i:
  66971: 9dbfaa2
v: v3
  • Loading branch information
Ivo van Doorn authored and David S. Miller committed Oct 10, 2007
1 parent edcdd21 commit 94c9060
Show file tree
Hide file tree
Showing 8 changed files with 21 additions and 16 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 483272f5ee968b25172b80bd2d27e37fef1dcc3a
refs/heads/master: 5886d0dbf5b4226c6b6c8c44c555c5dd83c67b02
4 changes: 2 additions & 2 deletions trunk/drivers/net/wireless/rt2x00/rt2400pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -1497,8 +1497,8 @@ static void rt2400pci_configure_filter(struct ieee80211_hw *hw,
* - Some filters are set based on interface type.
*/
*total_flags |= FIF_ALLMULTI;
if (changed_flags & FIF_OTHER_BSS ||
changed_flags & FIF_PROMISC_IN_BSS)
if (*total_flags & FIF_OTHER_BSS ||
*total_flags & FIF_PROMISC_IN_BSS)
*total_flags |= FIF_PROMISC_IN_BSS | FIF_OTHER_BSS;
if (is_interface_type(intf, IEEE80211_IF_TYPE_AP))
*total_flags |= FIF_PROMISC_IN_BSS;
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/net/wireless/rt2x00/rt2500pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -1830,8 +1830,8 @@ static void rt2500pci_configure_filter(struct ieee80211_hw *hw,
*/
if (mc_count)
*total_flags |= FIF_ALLMULTI;
if (changed_flags & FIF_OTHER_BSS ||
changed_flags & FIF_PROMISC_IN_BSS)
if (*total_flags & FIF_OTHER_BSS ||
*total_flags & FIF_PROMISC_IN_BSS)
*total_flags |= FIF_PROMISC_IN_BSS | FIF_OTHER_BSS;
if (is_interface_type(intf, IEEE80211_IF_TYPE_AP))
*total_flags |= FIF_PROMISC_IN_BSS;
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/net/wireless/rt2x00/rt2500usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -1602,8 +1602,8 @@ static void rt2500usb_configure_filter(struct ieee80211_hw *hw,
*/
if (mc_count)
*total_flags |= FIF_ALLMULTI;
if (changed_flags & FIF_OTHER_BSS ||
changed_flags & FIF_PROMISC_IN_BSS)
if (*total_flags & FIF_OTHER_BSS ||
*total_flags & FIF_PROMISC_IN_BSS)
*total_flags |= FIF_PROMISC_IN_BSS | FIF_OTHER_BSS;
if (is_interface_type(intf, IEEE80211_IF_TYPE_AP))
*total_flags |= FIF_PROMISC_IN_BSS;
Expand Down
2 changes: 0 additions & 2 deletions trunk/drivers/net/wireless/rt2x00/rt2x00.h
Original file line number Diff line number Diff line change
Expand Up @@ -410,8 +410,6 @@ struct rt2x00lib_ops {
*/
void (*config_mac_addr) (struct rt2x00_dev *rt2x00dev, __le32 *mac);
void (*config_bssid) (struct rt2x00_dev *rt2x00dev, __le32 *bssid);
void (*config_packet_filter) (struct rt2x00_dev *rt2x00dev,
const unsigned int filter);
void (*config_type) (struct rt2x00_dev *rt2x00dev, const int type);
void (*config) (struct rt2x00_dev *rt2x00dev, const unsigned int flags,
struct ieee80211_conf *conf);
Expand Down
13 changes: 10 additions & 3 deletions trunk/drivers/net/wireless/rt2x00/rt2x00dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -276,11 +276,18 @@ static void rt2x00lib_packetfilter_scheduled(struct work_struct *work)
{
struct rt2x00_dev *rt2x00dev =
container_of(work, struct rt2x00_dev, filter_work);
unsigned int filter = rt2x00dev->interface.filter;

/*
* Since we had stored the filter inside interface.filter,
* we should now clear that field. Otherwise the driver will
* assume nothing has changed (*total_flags will be compared
* to interface.filter to determine if any action is required).
*/
rt2x00dev->interface.filter = 0;

rt2x00dev->ops->hw->configure_filter(rt2x00dev->hw,
rt2x00dev->interface.filter,
&rt2x00dev->interface.filter,
0, NULL);
filter, &filter, 0, NULL);
}

/*
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/net/wireless/rt2x00/rt61pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -2389,8 +2389,8 @@ static void rt61pci_configure_filter(struct ieee80211_hw *hw,
*/
if (mc_count)
*total_flags |= FIF_ALLMULTI;
if (changed_flags & FIF_OTHER_BSS ||
changed_flags & FIF_PROMISC_IN_BSS)
if (*total_flags & FIF_OTHER_BSS ||
*total_flags & FIF_PROMISC_IN_BSS)
*total_flags |= FIF_PROMISC_IN_BSS | FIF_OTHER_BSS;
if (is_interface_type(intf, IEEE80211_IF_TYPE_AP))
*total_flags |= FIF_PROMISC_IN_BSS;
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/net/wireless/rt2x00/rt73usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -1856,8 +1856,8 @@ static void rt73usb_configure_filter(struct ieee80211_hw *hw,
*/
if (mc_count)
*total_flags |= FIF_ALLMULTI;
if (changed_flags & FIF_OTHER_BSS ||
changed_flags & FIF_PROMISC_IN_BSS)
if (*total_flags & FIF_OTHER_BSS ||
*total_flags & FIF_PROMISC_IN_BSS)
*total_flags |= FIF_PROMISC_IN_BSS | FIF_OTHER_BSS;
if (is_interface_type(intf, IEEE80211_IF_TYPE_AP))
*total_flags |= FIF_PROMISC_IN_BSS;
Expand Down

0 comments on commit 94c9060

Please sign in to comment.