06.01.2020 22:19, Jean-Philippe Brucker пишет: > 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 > >> >> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c >> b/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) { Hello Jean, Could you please clarify whether you applied [1] and then the above snippet on top of it or you only applied [1] without the snippet? [1] brcmfmac: Keep OOB wake-interrupt disabled when it shouldn't be enabled