• Johannes Berg's avatar
    mac80211: improve powersave implementation · 965bedad
    Johannes Berg authored
    When you have multiple virtual interfaces the current
    implementation requires setting them up properly from
    userspace, which is undesirable when we want to default
    to power save mode. Keep track of powersave requested
    from userspace per managed mode interface, and only
    enable powersave globally when exactly one managed mode
    interface is active and has powersave turned on.
    
    Second, only start the dynPS timer when PS is turned
    on, and properly turn it off when PS is turned off.
    
    Third, fix the scan_sdata abuse in the dynps code.
    
    Finally, also reorder the code and refactor the code
    that enables PS or the dynps timer instead of having
    it copied in two places.
    Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    965bedad
iface.c 24.7 KB