aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorHelmut Schaa <helmut.schaa@googlemail.com>2010-06-29 15:47:10 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-06-30 15:00:52 -0400
commitfa43750f00dc1699b24f5b441ab5fa79157a6b1f (patch)
tree22764934abe277df692184c0e053e3bb1ba50984 /drivers/net/wireless
parentad90319bc3bf604bccf55a3c952d9b68d12c5072 (diff)
rt2x00: Fix beacon updates in rt61pci
Fix rt61pci beacon updates in the same way as rt2800pci. rt61pci didn't update the beacon template after each beacon interval, resulting in the DTIM count being incorrect (if DTIM period > 1). Fix this by calling rt2x00lib_beacondone after the current beacon was sent out. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/rt2x00/rt61pci.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c
index 1e74f8c1b9c5..0123fbc22ca2 100644
--- a/drivers/net/wireless/rt2x00/rt61pci.c
+++ b/drivers/net/wireless/rt2x00/rt61pci.c
@@ -2200,6 +2200,12 @@ static irqreturn_t rt61pci_interrupt(int irq, void *dev_instance)
2200 if (rt2x00_get_field32(reg_mcu, MCU_INT_SOURCE_CSR_TWAKEUP)) 2200 if (rt2x00_get_field32(reg_mcu, MCU_INT_SOURCE_CSR_TWAKEUP))
2201 rt61pci_wakeup(rt2x00dev); 2201 rt61pci_wakeup(rt2x00dev);
2202 2202
2203 /*
2204 * 5 - Beacon done interrupt.
2205 */
2206 if (rt2x00_get_field32(reg, INT_SOURCE_CSR_BEACON_DONE))
2207 rt2x00lib_beacondone(rt2x00dev);
2208
2203 return IRQ_HANDLED; 2209 return IRQ_HANDLED;
2204} 2210}
2205 2211