Commit fbf59108 authored by Franky Lin's avatar Franky Lin Committed by John W. Linville

brcm80211: fmac: register a dummy irq handler for SDIO function 2

When there is data available in dongle for driver to fetch, an
interrupt will be triggered and both SDIO function 1 and 2 will be
flagged by default in bcm4329. These two interrupt flags are
identical and only need to be handled once. Since there is no way
to turn off one flag from the dongle side, a dummy handler for
function 2 interrupt is placed.
Reported-by: default avatarDenis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Reviewed-by: default avatarPieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: default avatarArend van Spriel <arend@broadcom.com>
Reviewed-by: default avatarAlwin Beukers <alwin@broadcom.com>
Signed-off-by: default avatarFranky Lin <frankyl@broadcom.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 1ae00421
...@@ -51,12 +51,18 @@ static void brcmf_sdioh_irqhandler(struct sdio_func *func) ...@@ -51,12 +51,18 @@ static void brcmf_sdioh_irqhandler(struct sdio_func *func)
sdio_claim_host(func); sdio_claim_host(func);
} }
/* dummy handler for SDIO function 2 interrupt */
static void brcmf_sdioh_dummy_irq_handler(struct sdio_func *func)
{
}
int brcmf_sdcard_intr_reg(struct brcmf_sdio_dev *sdiodev) int brcmf_sdcard_intr_reg(struct brcmf_sdio_dev *sdiodev)
{ {
brcmf_dbg(TRACE, "Entering\n"); brcmf_dbg(TRACE, "Entering\n");
sdio_claim_host(sdiodev->func[1]); sdio_claim_host(sdiodev->func[1]);
sdio_claim_irq(sdiodev->func[1], brcmf_sdioh_irqhandler); sdio_claim_irq(sdiodev->func[1], brcmf_sdioh_irqhandler);
sdio_claim_irq(sdiodev->func[2], brcmf_sdioh_dummy_irq_handler);
sdio_release_host(sdiodev->func[1]); sdio_release_host(sdiodev->func[1]);
return 0; return 0;
...@@ -67,6 +73,7 @@ int brcmf_sdcard_intr_dereg(struct brcmf_sdio_dev *sdiodev) ...@@ -67,6 +73,7 @@ int brcmf_sdcard_intr_dereg(struct brcmf_sdio_dev *sdiodev)
brcmf_dbg(TRACE, "Entering\n"); brcmf_dbg(TRACE, "Entering\n");
sdio_claim_host(sdiodev->func[1]); sdio_claim_host(sdiodev->func[1]);
sdio_release_irq(sdiodev->func[2]);
sdio_release_irq(sdiodev->func[1]); sdio_release_irq(sdiodev->func[1]);
sdio_release_host(sdiodev->func[1]); sdio_release_host(sdiodev->func[1]);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment