• Jouni Malinen's avatar
    ath9k: Fix PS mode operation to receive buffered broadcast/multicast frames · cc65965c
    Jouni Malinen authored
    The previous implementation was moving back to NETWORK SLEEP state
    immediately after receiving a Beacon frame. This means that we are
    unlikely to receive all the buffered broadcast/multicast frames that
    would be sent after DTIM Beacon frames. Fix this by parsing the Beacon
    frame and remaining awake, if needed, to receive the buffered
    broadcast/multicast frames. The last buffered frame will trigger the
    move back into NETWORK SLEEP state.
    
    If the last broadcast/multicast frame is not received properly (or if
    the AP fails to send it), the next Beacon frame will work as a backup
    trigger for returning into NETWORK SLEEP.
    
    A new debug type, PS (debug=0x800 module parameter), is added to make
    it easier to debug potential power save issues in the
    future. Currently, this is only used for the Beacon frame and buffered
    broadcast/multicast receiving.
    Signed-off-by: default avatarJouni Malinen <jouni.malinen@atheros.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    cc65965c
recv.c 21.9 KB