brcmfmac: Fix 'did not remove int handler' warning
authorChristian Daudt <csd@broadcom.com>
Wed, 11 May 2016 22:06:49 +0000 (15:06 -0700)
committerKalle Valo <kvalo@codeaurora.org>
Sat, 4 Jun 2016 14:58:52 +0000 (17:58 +0300)
commitb746740147dcfe1eb635f76f0a73f7df2b3e37c0
tree48f15f04ee4368a31dab66db063b93060450112c
parentb88a2e80396ba463a4800c62c96e86954cb0f4f7
brcmfmac: Fix 'did not remove int handler' warning

brcmf_sdiod_intr_unregister call that removes both func1 and
func2 interrupt handlers only called when brcmf_ops_sdio_remove
is called for func 1 (which is the 2nd call) but sdio is expecting
it to be removed at the end of each sdio_remove call.
This is causing 'rmmod bcmrfmac' on a 4356-sdio chip to complain
with:
WARNING: driver brcmfmac did not remove its interrupt handler!

The modification makes calling brcmf_sdiod_intr_unregister multiple
times harmless by clearing the variables that track if interrupt
handlers have been installed, and then calls it on every
brcmf_ops_sdio_remove call instead of just remove for func 1.

Signed-off-by: Christian Daudt <csd@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h