]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/net/wireless/iwlegacy/3945-mac.c
iwl3945: fix wakeup interrupt
[mirror_ubuntu-bionic-kernel.git] / drivers / net / wireless / iwlegacy / 3945-mac.c
index 0487461ae4da22053607bb49178e296787e18dc3..46b32d41aa2f3287016647d8ad509dea02283dc7 100644 (file)
@@ -1495,12 +1495,14 @@ il3945_irq_tasklet(struct il_priv *il)
        if (inta & CSR_INT_BIT_WAKEUP) {
                D_ISR("Wakeup interrupt\n");
                il_rx_queue_update_write_ptr(il, &il->rxq);
+
+               spin_lock_irqsave(&il->lock, flags);
                il_txq_update_write_ptr(il, &il->txq[0]);
                il_txq_update_write_ptr(il, &il->txq[1]);
                il_txq_update_write_ptr(il, &il->txq[2]);
                il_txq_update_write_ptr(il, &il->txq[3]);
                il_txq_update_write_ptr(il, &il->txq[4]);
-               il_txq_update_write_ptr(il, &il->txq[5]);
+               spin_unlock_irqrestore(&il->lock, flags);
 
                il->isr_stats.wakeup++;
                handled |= CSR_INT_BIT_WAKEUP;