Loading drivers/staging/rtl8192e/r8192E_core.c +100 −110 Original line number Diff line number Diff line Loading @@ -6179,33 +6179,31 @@ static void __exit rtl8192_pci_module_exit(void) ieee80211_rtl_exit(); } //warning message WB static irqreturn_t rtl8192_interrupt(int irq, void *netdev) { struct net_device *dev = (struct net_device *) netdev; struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev); unsigned long flags; u32 inta; /* We should return IRQ_NONE, but for now let me keep this */ if(priv->irq_enabled == 0){ if (priv->irq_enabled == 0) return IRQ_HANDLED; } spin_lock_irqsave(&priv->irq_th_lock,flags); //ISR: 4bytes /* ISR: 4bytes */ inta = read_nic_dword(dev, ISR);// & priv->IntrMask; write_nic_dword(dev,ISR,inta); // reset int situation inta = read_nic_dword(dev, ISR); /* & priv->IntrMask; */ write_nic_dword(dev, ISR, inta); /* reset int situation */ priv->stats.shints++; //DMESG("Enter interrupt, ISR value = 0x%08x", inta); if (!inta) { spin_unlock_irqrestore(&priv->irq_th_lock, flags); return IRQ_HANDLED; /* most probably we can safely return IRQ_NONE, but for now is better to avoid problems * most probably we can safely return IRQ_NONE, * but for now is better to avoid problems */ } Loading @@ -6219,20 +6217,12 @@ static irqreturn_t rtl8192_interrupt(int irq, void *netdev) #ifdef DEBUG_IRQ DMESG("NIC irq %x",inta); #endif //priv->irqpending = inta; if (!netif_running(dev)) { spin_unlock_irqrestore(&priv->irq_th_lock, flags); return IRQ_HANDLED; } if(inta & IMR_TIMEOUT0){ // write_nic_dword(dev, TimerInt, 0); //DMESG("=================>waking up"); // rtl8180_hw_wakeup(dev); } if (inta & IMR_TBDOK) { RT_TRACE(COMP_INTR, "beacon ok interrupt!\n"); rtl8192_tx_isr(dev, BEACON_QUEUE); Loading @@ -6249,7 +6239,6 @@ static irqreturn_t rtl8192_interrupt(int irq, void *netdev) RT_TRACE(COMP_INTR, "Manage ok interrupt!\n"); priv->stats.txmanageokint++; rtl8192_tx_isr(dev,MGNT_QUEUE); } if (inta & IMR_COMDOK) Loading Loading @@ -6285,7 +6274,8 @@ static irqreturn_t rtl8192_interrupt(int irq, void *netdev) tasklet_schedule(&priv->irq_rx_tasklet); } if(inta & IMR_TXFOVW) priv->stats.txoverflow++; if (inta & IMR_TXFOVW) priv->stats.txoverflow++; if (inta & IMR_BKDOK) { RT_TRACE(COMP_INTR, "BK Tx OK interrupt!\n"); Loading Loading
drivers/staging/rtl8192e/r8192E_core.c +100 −110 Original line number Diff line number Diff line Loading @@ -6179,33 +6179,31 @@ static void __exit rtl8192_pci_module_exit(void) ieee80211_rtl_exit(); } //warning message WB static irqreturn_t rtl8192_interrupt(int irq, void *netdev) { struct net_device *dev = (struct net_device *) netdev; struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev); unsigned long flags; u32 inta; /* We should return IRQ_NONE, but for now let me keep this */ if(priv->irq_enabled == 0){ if (priv->irq_enabled == 0) return IRQ_HANDLED; } spin_lock_irqsave(&priv->irq_th_lock,flags); //ISR: 4bytes /* ISR: 4bytes */ inta = read_nic_dword(dev, ISR);// & priv->IntrMask; write_nic_dword(dev,ISR,inta); // reset int situation inta = read_nic_dword(dev, ISR); /* & priv->IntrMask; */ write_nic_dword(dev, ISR, inta); /* reset int situation */ priv->stats.shints++; //DMESG("Enter interrupt, ISR value = 0x%08x", inta); if (!inta) { spin_unlock_irqrestore(&priv->irq_th_lock, flags); return IRQ_HANDLED; /* most probably we can safely return IRQ_NONE, but for now is better to avoid problems * most probably we can safely return IRQ_NONE, * but for now is better to avoid problems */ } Loading @@ -6219,20 +6217,12 @@ static irqreturn_t rtl8192_interrupt(int irq, void *netdev) #ifdef DEBUG_IRQ DMESG("NIC irq %x",inta); #endif //priv->irqpending = inta; if (!netif_running(dev)) { spin_unlock_irqrestore(&priv->irq_th_lock, flags); return IRQ_HANDLED; } if(inta & IMR_TIMEOUT0){ // write_nic_dword(dev, TimerInt, 0); //DMESG("=================>waking up"); // rtl8180_hw_wakeup(dev); } if (inta & IMR_TBDOK) { RT_TRACE(COMP_INTR, "beacon ok interrupt!\n"); rtl8192_tx_isr(dev, BEACON_QUEUE); Loading @@ -6249,7 +6239,6 @@ static irqreturn_t rtl8192_interrupt(int irq, void *netdev) RT_TRACE(COMP_INTR, "Manage ok interrupt!\n"); priv->stats.txmanageokint++; rtl8192_tx_isr(dev,MGNT_QUEUE); } if (inta & IMR_COMDOK) Loading Loading @@ -6285,7 +6274,8 @@ static irqreturn_t rtl8192_interrupt(int irq, void *netdev) tasklet_schedule(&priv->irq_rx_tasklet); } if(inta & IMR_TXFOVW) priv->stats.txoverflow++; if (inta & IMR_TXFOVW) priv->stats.txoverflow++; if (inta & IMR_BKDOK) { RT_TRACE(COMP_INTR, "BK Tx OK interrupt!\n"); Loading