aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00dev.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00dev.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00dev.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
index f25475318c9b..1e07c3938cb3 100644
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -276,11 +276,18 @@ static void rt2x00lib_packetfilter_scheduled(struct work_struct *work)
276{ 276{
277 struct rt2x00_dev *rt2x00dev = 277 struct rt2x00_dev *rt2x00dev =
278 container_of(work, struct rt2x00_dev, filter_work); 278 container_of(work, struct rt2x00_dev, filter_work);
279 unsigned int filter = rt2x00dev->interface.filter;
280
281 /*
282 * Since we had stored the filter inside interface.filter,
283 * we should now clear that field. Otherwise the driver will
284 * assume nothing has changed (*total_flags will be compared
285 * to interface.filter to determine if any action is required).
286 */
287 rt2x00dev->interface.filter = 0;
279 288
280 rt2x00dev->ops->hw->configure_filter(rt2x00dev->hw, 289 rt2x00dev->ops->hw->configure_filter(rt2x00dev->hw,
281 rt2x00dev->interface.filter, 290 filter, &filter, 0, NULL);
282 &rt2x00dev->interface.filter,
283 0, NULL);
284} 291}
285 292
286/* 293/*