Re: [PATCH] brcmfmac: sdio: Fix OOB interrupt initialization on brcm43362
From: Jean-Philippe Brucker <hidden>
Date: 2020-01-06 19:19:30
Also in:
netdev
Hi Dmitry, On Thu, Dec 26, 2019 at 05:37:58PM +0300, Dmitry Osipenko wrote:
I haven't seen any driver probe failures due to OOB on NVIDIA Tegra, only suspend-resume was problematic due to the unbalanced OOB interrupt-wake enabling. But maybe checking whether OOB interrupt-wake works by invoking enable_irq_wake() during brcmf_sdiod_intr_register() causes trouble for the cubietruck board. @Jean-Philippe, could you please try this change (on top of recent linux-next):
Sorry for the delay, linux-next doesn't boot for me at the moment and I have little time to investigate why, so I might retry closer to the merge window. However, isn't the interrupt-wake issue independent from the problem (introduced in v4.17) that my patch fixes? I applied "brcmfmac: Keep OOB wake-interrupt disabled when it shouldn't be enabled" on v5.5-rc5 and it doesn't seem to cause a regression, but the wifi only works if I apply my patch as well. Thanks, Jean
quoted hunk ↗ jump to hunk
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.cb/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c index b684a5b6d904..80d7106b10a9 100644--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c@@ -115,13 +115,6 @@ int brcmf_sdiod_intr_register(struct brcmf_sdio_dev*sdiodev) } sdiodev->oob_irq_requested = true; - ret = enable_irq_wake(pdata->oob_irq_nr); - if (ret != 0) { - brcmf_err("enable_irq_wake failed %d\n", ret); - return ret; - } - disable_irq_wake(pdata->oob_irq_nr); - sdio_claim_host(sdiodev->func1); if (sdiodev->bus_if->chip == BRCM_CC_43362_CHIP_ID) {