Commit 4fc5401c authored by Pavel Roskin's avatar Pavel Roskin Committed by John W. Linville

ath5k: read sc->imask with sc->irqlock held

Signed-off-by: default avatarPavel Roskin <proski@gnu.org>

sc->imask may change if ath5k_set_current_imask() races against itself.
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent e2df64c1
...@@ -1447,10 +1447,11 @@ ath5k_receive_frame_ok(struct ath5k_softc *sc, struct ath5k_rx_status *rs) ...@@ -1447,10 +1447,11 @@ ath5k_receive_frame_ok(struct ath5k_softc *sc, struct ath5k_rx_status *rs)
static void static void
ath5k_set_current_imask(struct ath5k_softc *sc) ath5k_set_current_imask(struct ath5k_softc *sc)
{ {
enum ath5k_int imask = sc->imask; enum ath5k_int imask;
unsigned long flags; unsigned long flags;
spin_lock_irqsave(&sc->irqlock, flags); spin_lock_irqsave(&sc->irqlock, flags);
imask = sc->imask;
if (sc->rx_pending) if (sc->rx_pending)
imask &= ~AR5K_INT_RX_ALL; imask &= ~AR5K_INT_RX_ALL;
if (sc->tx_pending) if (sc->tx_pending)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment