rtlwifi: rtl8192{ce,cu,se}: Remove irq_enabled flag
PATCH 1/4 rtlwifi: rtl8192{ce,cu,se}: Remove irq_enabled flag
This should be unnecessary if synchronize_irq is used.
Signed-off-by Mike McCormack <[email protected]>
--- drivers/net/wireless/rtlwifi/pci.c | 3 --- drivers/net/wireless/rtlwifi/pci.h | 1 - drivers/net/wireless/rtlwifi/rtl8192ce/hw.c | 2 -- drivers/net/wireless/rtlwifi/rtl8192cu/mac.c | 9 --------- drivers/net/wireless/rtlwifi/rtl8192se/hw.c | 4 ---- 5 files changed, 0 insertions(+), 19 deletions(-)
drivers/net/wireless/rtlwifi/pci.c +0 -3
@@ -794,9 +794,6 @@ static irqreturn_t _rtl_pci_interrupt(int irq, void *dev_id)u32 inta =0 ;u32 intb =0 ; -if (rtlpci->irq_enabled ==0 ) -return IRQ_HANDLED ; -spin_lock_irqsave (&rtlpriv->locks.irq_th_lock, flags);/*read ISR: 4/8bytes */
drivers/net/wireless/rtlwifi/pci.h +0 -1
@@ -169,7 +169,6 @@ struct rtl_pci {bool first_init;bool being_init_adapter;bool init_ready; -bool irq_enabled;/*Tx */ struct rtl8192_tx_ring tx_ring[RTL_PCI_MAX_TX_QUEUE_COUNT ];
drivers/net/wireless/rtlwifi/rtl8192ce/hw.c +0 -2
@@ -1183,7 +1183,6 @@ void rtl92ce_enable_interrupt(struct ieee80211_hw *hw)rtl_write_dword (rtlpriv,REG_HIMR , rtlpci->irq_mask[0 ] &0xFFFFFFFF );rtl_write_dword (rtlpriv,REG_HIMRE , rtlpci->irq_mask[1 ] &0xFFFFFFFF ); - rtlpci->irq_enabled = true; }void rtl92ce_disable_interrupt (struct ieee80211_hw *hw)
@@ -1193,7 +1192,6 @@ void rtl92ce_disable_interrupt(struct ieee80211_hw *hw)rtl_write_dword (rtlpriv,REG_HIMR ,IMR8190_DISABLED );rtl_write_dword (rtlpriv,REG_HIMRE ,IMR8190_DISABLED ); - rtlpci->irq_enabled = false;synchronize_irq (rtlpci->pdev->irq); }
drivers/net/wireless/rtlwifi/rtl8192cu/mac.c +0 -9
@@ -380,13 +380,11 @@ void rtl92c_enable_interrupt(struct ieee80211_hw *hw) 0xFFFFFFFF);rtl_write_dword (rtlpriv,REG_HIMRE , rtlpci->irq_mask[1 ] &0xFFFFFFFF ); - rtlpci->irq_enabled = true; }else {rtl_write_dword (rtlpriv,REG_HIMR , rtlusb->irq_mask[0 ] &0xFFFFFFFF );rtl_write_dword (rtlpriv,REG_HIMRE , rtlusb->irq_mask[1 ] &0xFFFFFFFF ); - rtlusb->irq_enabled = true; } }
@@ -398,16 +396,9 @@ void rtl92c_init_interrupt(struct ieee80211_hw *hw)void rtl92c_disable_interrupt (struct ieee80211_hw *hw) {struct rtl_priv *rtlpriv =rtl_priv (hw); -struct rtl_hal *rtlhal =rtl_hal (rtl_priv (hw)); -struct rtl_pci *rtlpci =rtl_pcidev (rtl_pcipriv (hw)); -struct rtl_usb *rtlusb =rtl_usbdev (rtl_usbpriv (hw));rtl_write_dword (rtlpriv,REG_HIMR ,IMR8190_DISABLED );rtl_write_dword (rtlpriv,REG_HIMRE ,IMR8190_DISABLED ); -if (IS_HARDWARE_TYPE_8192CE (rtlhal)) - rtlpci->irq_enabled = false; -else if (IS_HARDWARE_TYPE_8192CU (rtlhal)) - rtlusb->irq_enabled = false; }void rtl92c_set_qos (struct ieee80211_hw *hw,int aci)
drivers/net/wireless/rtlwifi/rtl8192se/hw.c +0 -4
@@ -1213,8 +1213,6 @@ void rtl92se_enable_interrupt(struct ieee80211_hw *hw)rtl_write_dword (rtlpriv,INTA_MASK , rtlpci->irq_mask[0 ]);/* Support Bit 32-37(Assign as Bit 0-5) interrupt setting now */ rtl_write_dword (rtlpriv,INTA_MASK +4 , rtlpci->irq_mask[1 ] &0x3F ); - - rtlpci->irq_enabled = true; }void rtl92se_disable_interrupt (struct ieee80211_hw *hw)
@@ -1224,8 +1222,6 @@ void rtl92se_disable_interrupt(struct ieee80211_hw *hw)rtl_write_dword (rtlpriv,INTA_MASK ,0 );rtl_write_dword (rtlpriv,INTA_MASK +4 ,0 ); - - rtlpci->irq_enabled = false;synchronize_irq (rtlpci->pdev->irq); }
Signature · 1 line
1.7.4.1
Quoted 10 lines · Mike McCormack
This should be unnecessary if
synchronize_irqis used.Signed-off-by Mike McCormack<[email protected]>--- drivers/net/wireless/rtlwifi/pci.c | 3 --- drivers/net/wireless/rtlwifi/pci.h | 1 - drivers/net/wireless/rtlwifi/rtl8192ce/hw.c | 2 -- drivers/net/wireless/rtlwifi/rtl8192cu/mac.c | 9 --------- drivers/net/wireless/rtlwifi/rtl8192se/hw.c | 4 ---- 5 files changed, 0 insertions(+), 19 deletions(-)
I am still testing this change; however, I must NACK it on a technicality. Driver rtl8192de, which is in the pipeline, will fail to compile if irq_enabled is removed from the rtl_pci struct now. In V2, please do not remove this member. When the dust clears, I will fix rtl8192de and remove the variable.
Larry
Quoted 20 lines
drivers/net/wireless/rtlwifi/pci.c +0
-3@@ -794,9 +794,6 @@ static irqreturn_t _rtl_pci_interrupt(int irq, void *dev_id)u32 inta =0 ;u32 intb =0 ; -if (rtlpci->irq_enabled ==0 ) -return IRQ_HANDLED ; -spin_lock_irqsave (&rtlpriv->locks.irq_th_lock, flags);/*read ISR: 4/8bytes */ drivers/net/wireless/rtlwifi/pci.h +0
-0
drivers/net/wireless/rtlwifi/pci.h struct rtl_pci { · line 172
Quoted 4 lines
drivers/net/wireless/rtlwifi/pci.h +0
-1@@ -169,7 +169,6 @@ struct rtl_pci {bool first_init;bool being_init_adapter;bool init_ready; -bool irq_enabled;
Do not remove this yet.