aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
diff options
context:
space:
mode:
authorPiotr Haber <phaber@broadcom.com>2012-11-28 15:44:06 -0500
committerJohn W. Linville <linville@tuxdriver.com>2012-11-30 13:38:16 -0500
commit94d9902dc06a28a1b25cf56a7cdc057608bdf48b (patch)
treeb46da78d4e8f3bdcf261b7c7cf67a87d2173e88b /drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
parentc4dea35e34f5f46e1701156153a09cce429d1ea9 (diff)
brcmsmac: cleanup in isr code
brcms_c_isr returns true if interrupt was for us and if dpc should be scheduled which is the same thing. Simplify it. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c')
-rw-r--r--drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c b/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
index f917d621acca..976720ccf17a 100644
--- a/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
+++ b/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
@@ -896,27 +896,22 @@ static void brcms_remove(struct bcma_device *pdev)
896static irqreturn_t brcms_isr(int irq, void *dev_id) 896static irqreturn_t brcms_isr(int irq, void *dev_id)
897{ 897{
898 struct brcms_info *wl; 898 struct brcms_info *wl;
899 bool ours, wantdpc; 899 irqreturn_t ret = IRQ_NONE;
900 900
901 wl = (struct brcms_info *) dev_id; 901 wl = (struct brcms_info *) dev_id;
902 902
903 spin_lock(&wl->isr_lock); 903 spin_lock(&wl->isr_lock);
904 904
905 /* call common first level interrupt handler */ 905 /* call common first level interrupt handler */
906 ours = brcms_c_isr(wl->wlc, &wantdpc); 906 if (brcms_c_isr(wl->wlc)) {
907 if (ours) { 907 /* schedule second level handler */
908 /* if more to do... */ 908 tasklet_schedule(&wl->tasklet);
909 if (wantdpc) { 909 ret = IRQ_HANDLED;
910
911 /* ...and call the second level interrupt handler */
912 /* schedule dpc */
913 tasklet_schedule(&wl->tasklet);
914 }
915 } 910 }
916 911
917 spin_unlock(&wl->isr_lock); 912 spin_unlock(&wl->isr_lock);
918 913
919 return IRQ_RETVAL(ours); 914 return ret;
920} 915}
921 916
922/* 917/*