aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2500usb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2500usb.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2500usb.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c
index 531d6a02755a..3dca09d6e319 100644
--- a/drivers/net/wireless/rt2x00/rt2500usb.c
+++ b/drivers/net/wireless/rt2x00/rt2500usb.c
@@ -1611,7 +1611,6 @@ static void rt2500usb_configure_filter(struct ieee80211_hw *hw,
1611 struct dev_addr_list *mc_list) 1611 struct dev_addr_list *mc_list)
1612{ 1612{
1613 struct rt2x00_dev *rt2x00dev = hw->priv; 1613 struct rt2x00_dev *rt2x00dev = hw->priv;
1614 struct interface *intf = &rt2x00dev->interface;
1615 u16 reg; 1614 u16 reg;
1616 1615
1617 /* 1616 /*
@@ -1630,22 +1629,19 @@ static void rt2500usb_configure_filter(struct ieee80211_hw *hw,
1630 * Apply some rules to the filters: 1629 * Apply some rules to the filters:
1631 * - Some filters imply different filters to be set. 1630 * - Some filters imply different filters to be set.
1632 * - Some things we can't filter out at all. 1631 * - Some things we can't filter out at all.
1633 * - Some filters are set based on interface type.
1634 */ 1632 */
1635 if (mc_count) 1633 if (mc_count)
1636 *total_flags |= FIF_ALLMULTI; 1634 *total_flags |= FIF_ALLMULTI;
1637 if (*total_flags & FIF_OTHER_BSS || 1635 if (*total_flags & FIF_OTHER_BSS ||
1638 *total_flags & FIF_PROMISC_IN_BSS) 1636 *total_flags & FIF_PROMISC_IN_BSS)
1639 *total_flags |= FIF_PROMISC_IN_BSS | FIF_OTHER_BSS; 1637 *total_flags |= FIF_PROMISC_IN_BSS | FIF_OTHER_BSS;
1640 if (is_interface_type(intf, IEEE80211_IF_TYPE_AP))
1641 *total_flags |= FIF_PROMISC_IN_BSS;
1642 1638
1643 /* 1639 /*
1644 * Check if there is any work left for us. 1640 * Check if there is any work left for us.
1645 */ 1641 */
1646 if (intf->filter == *total_flags) 1642 if (rt2x00dev->packet_filter == *total_flags)
1647 return; 1643 return;
1648 intf->filter = *total_flags; 1644 rt2x00dev->packet_filter = *total_flags;
1649 1645
1650 /* 1646 /*
1651 * When in atomic context, reschedule and let rt2x00lib 1647 * When in atomic context, reschedule and let rt2x00lib