diff options
author | Piotr Haber <phaber@broadcom.com> | 2012-11-28 15:44:06 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-11-30 13:38:16 -0500 |
commit | 94d9902dc06a28a1b25cf56a7cdc057608bdf48b (patch) | |
tree | b46da78d4e8f3bdcf261b7c7cf67a87d2173e88b /drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c | |
parent | c4dea35e34f5f46e1701156153a09cce429d1ea9 (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.c | 17 |
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) | |||
896 | static irqreturn_t brcms_isr(int irq, void *dev_id) | 896 | static 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 | /* |