• Bob Copeland's avatar
    ath5k: move reset to mac80211 workqueue · 5faaff74
    Bob Copeland authored
    We currently trigger a reset via a tasklet when certain error
    conditions are detected so that the card will (eventually)
    restart.  Unfortunately this makes locking complicated since
    reset can also be called in process context (e.g. for channel
    change).  Currently nothing protects against concurrent resets,
    which can be the source of corruption bugs.
    
    Reset takes too long to spinlock the whole thing, so this
    patch moves deferred resets into the mac80211 workqueue to
    enable use of sc->lock mutex.
    Signed-off-by: default avatarBob Copeland <me@bobcopeland.com>
    Acked-by: default avatarBruno Randolf <br1@einfach.org>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    5faaff74
base.c 93.5 KB