diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2009-06-17 14:53:20 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-06-19 11:50:22 -0400 |
commit | 58f5fffdc3b8567b3fa8ed77d75699db87e2d1d4 (patch) | |
tree | b733ee0b9d255449674528be4fd0b0e6381c508c /drivers/net | |
parent | a878417cc576720d3c9ff5399522d06f226bad7d (diff) |
ath9k: wait for beacon frame along with CAB
Changes-licensed-under: ISC
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/recv.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c index f99f3a76df3f..cece1c4c6bda 100644 --- a/drivers/net/wireless/ath/ath9k/recv.c +++ b/drivers/net/wireless/ath/ath9k/recv.c | |||
@@ -539,11 +539,14 @@ static void ath_rx_ps_beacon(struct ath_softc *sc, struct sk_buff *skb) | |||
539 | if (ath_beacon_dtim_pending_cab(skb)) { | 539 | if (ath_beacon_dtim_pending_cab(skb)) { |
540 | /* | 540 | /* |
541 | * Remain awake waiting for buffered broadcast/multicast | 541 | * Remain awake waiting for buffered broadcast/multicast |
542 | * frames. | 542 | * frames. If the last broadcast/multicast frame is not |
543 | * received properly, the next beacon frame will work as | ||
544 | * a backup trigger for returning into NETWORK SLEEP state, | ||
545 | * so we are waiting for it as well. | ||
543 | */ | 546 | */ |
544 | DPRINTF(sc, ATH_DBG_PS, "Received DTIM beacon indicating " | 547 | DPRINTF(sc, ATH_DBG_PS, "Received DTIM beacon indicating " |
545 | "buffered broadcast/multicast frame(s)\n"); | 548 | "buffered broadcast/multicast frame(s)\n"); |
546 | sc->sc_flags |= SC_OP_WAIT_FOR_CAB; | 549 | sc->sc_flags |= SC_OP_WAIT_FOR_CAB | SC_OP_WAIT_FOR_BEACON; |
547 | return; | 550 | return; |
548 | } | 551 | } |
549 | 552 | ||