Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -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)