Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.kernel > #65883
| From | Salvatore Bonaccorso <carnil@debian.org> |
|---|---|
| Newsgroups | linux.debian.bugs.dist, linux.debian.kernel |
| Subject | Bug#908438: cubietruck wifi reversion |
| Date | 2019-12-18 23:00 +0100 |
| Message-ID | <zePwl-4KU-3@gated-at.bofh.it> (permalink) |
| References | (1 earlier) <wwgx3-77c-1@gated-at.bofh.it> <wwgx3-77c-1@gated-at.bofh.it> <wDLw6-3sS-11@gated-at.bofh.it> <wwgx3-77c-1@gated-at.bofh.it> <wDLw6-3sS-11@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Cross-posted to 2 groups.
Hi Hans,
On Sun, Sep 30, 2018 at 05:07:39PM +0200, Hans de Goede wrote:
> Hi all,
>
> I've hit this problem myself this weekend on both a
> Cubietruck and on a "LeMaker Banana Pro.
>
> For me the problem was intermittent on both devices, once
> it happened it seems to require a power-cycle to fix.
>
> Once things work one can safely reboot without hitting
> the issue.
>
> I'm attaching a patch which fixes this problem for me,
> it is more of a workaround but it does not have much of
> a downside. Using an OOB IRQ instead of the sdio-IRQ
> mechanism is mostly important to allow the MMC controller
> to go into runtime-suspend which is not really an issue
> on these boards since they are (usually) not battery
> powered.
>
> Regards,
>
> Hans
>
> >From 34de386e5a1113360c967ba9f76901282e46a415 Mon Sep 17 00:00:00 2001
> From: Hans de Goede <hdegoede@redhat.com>
> Date: Sun, 30 Sep 2018 16:58:52 +0200
> Subject: [PATCH resend] ARM: dts: sun7i: Disable OOB IRQ for brcm wifi on
> Cubietruck and Banana Pro
>
> While doing some brcmfmac driver work I needed to test this also on some
> devicetree based boards. So I fired up the good old Cubietruck and when
> that would not work a Banana Pro.
>
> With an unmodified 4.17 kernel both boards intermittently would come up
> with non working wifi with the following errors:
>
> brcmfmac: brcmf_sdio_bus_rxctl: resumed on timeout
> brcmfmac: brcmf_bus_started: failed: -110
> brcmfmac: brcmf_attach: dongle is not responding: err=-110
> brcmfmac: brcmf_sdio_firmware_callback: brcmf_attach failed
>
> They would come up this way more often then with actual working wifi,
> once this problem happens it seems to require a power-cycle to fix.
> Once things work one can safely reboot without hitting the issue.
>
> I've found that disabling OOB interrupts fixes this. This really is more
> of a workaround then a proper fix, but it makes the wifi reliable again
> and it does not have much of a downside.
>
> Using an OOB IRQ instead of the sdio-IRQ mechanism is mostly important to
> allow the MMC controller to go into runtime-suspend which is not really an
> issue on these boards since they are (usually) not battery powered.
>
> I've looked at recent brcmfmac and mmc-core changes which may explain this
> and I've not found anything. So the most likely culprit is the A20 external
> interrupt handling e.g. perhaps it is set to edge instead of level? Either
> way I do not have time to further investigate this.
>
> BugLink: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=908438
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> arch/arm/boot/dts/sun7i-a20-bananapro.dts | 16 +++++++++++++---
> arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 16 +++++++++++++---
> 2 files changed, 26 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/boot/dts/sun7i-a20-bananapro.dts b/arch/arm/boot/dts/sun7i-a20-bananapro.dts
> index 0898eb6162f5..0e1ddd998b20 100644
> --- a/arch/arm/boot/dts/sun7i-a20-bananapro.dts
> +++ b/arch/arm/boot/dts/sun7i-a20-bananapro.dts
> @@ -174,9 +174,19 @@
> brcmf: wifi@1 {
> reg = <1>;
> compatible = "brcm,bcm4329-fmac";
> - interrupt-parent = <&pio>;
> - interrupts = <7 15 IRQ_TYPE_LEVEL_LOW>;
> - interrupt-names = "host-wake";
> + /*
> + * OOB interrupt support is broken ATM, often the first irq
> + * does not get seen resulting in the drv probe failing with:
> + *
> + * brcmfmac: brcmf_sdio_bus_rxctl: resumed on timeout
> + * brcmfmac: brcmf_bus_started: failed: -110
> + * brcmfmac: brcmf_attach: dongle is not responding: err=-110
> + * brcmfmac: brcmf_sdio_firmware_callback: brcmf_attach failed
> + *
> + * interrupt-parent = <&pio>;
> + * interrupts = <7 15 IRQ_TYPE_LEVEL_LOW>;
> + * interrupt-names = "host-wake";
> + */
> };
> };
>
> diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
> index 5649161de1d7..a837516db6f9 100644
> --- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
> +++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
> @@ -222,9 +222,19 @@
> brcmf: wifi@1 {
> reg = <1>;
> compatible = "brcm,bcm4329-fmac";
> - interrupt-parent = <&pio>;
> - interrupts = <7 10 IRQ_TYPE_LEVEL_LOW>; /* PH10 / EINT10 */
> - interrupt-names = "host-wake";
> + /*
> + * OOB interrupt support is broken ATM, often the first irq
> + * does not get seen resulting in the drv probe failing with:
> + *
> + * brcmfmac: brcmf_sdio_bus_rxctl: resumed on timeout
> + * brcmfmac: brcmf_bus_started: failed: -110
> + * brcmfmac: brcmf_attach: dongle is not responding: err=-110
> + * brcmfmac: brcmf_sdio_firmware_callback: brcmf_attach failed
> + *
> + * interrupt-parent = <&pio>;
> + * interrupts = <7 10 IRQ_TYPE_LEVEL_LOW>; /* PH10 / EINT10 */
> + * interrupt-names = "host-wake";
> + */
> };
> };
Can you report this to upstream directly? (Please keep the Debian bug
into the loop).
Regards,
Salvatore
Back to linux.debian.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Bug#908438: cubietruck wifi reversion Joey Hess <id@joeyh.name> - 2018-09-10 00:40 +0200
Bug#908438: cubietruck wifi reversion Romain Perier <romain.perier@gmail.com> - 2018-09-27 14:00 +0200
Bug#908438: cubietruck wifi reversion Joey Hess <id@joeyh.name> - 2018-09-28 23:40 +0200
Bug#908438: Info received (Bug#908438: cubietruck wifi reversion) Joey Hess <id@joeyh.name> - 2018-09-29 06:50 +0200
Bug#908438: cubietruck wifi reversion Hans de Goede <hdegoede@redhat.com> - 2018-09-30 17:10 +0200
Bug#908438: cubietruck wifi reversion Salvatore Bonaccorso <carnil@debian.org> - 2019-12-18 23:00 +0100
Bug#908438: cubietruck wifi reversion Hans de Goede <hdegoede@redhat.com> - 2019-12-20 12:20 +0100
Bug#908438: cubietruck wifi reversion Salvatore Bonaccorso <carnil@debian.org> - 2019-12-21 23:10 +0100
Bug#908438: Still there on 5.4.19-1~bpo10+1 (Was: Bug#908438: cubietruck wifi reversion) Jakob Haufe <sur5r@debian.org> - 2020-04-21 14:30 +0200
Bug#908438: same problem on buster/testing Axel <axel.scheepers76@gmail.com> - 2019-02-21 20:40 +0100
Bug#908438: [PATCH resend] ARM: dts: sun7i: Disable OOB IRQ for brcm wifi on Cubietruck and Banana Pro Helmut Grohne <helmut@subdivi.de> - 2019-12-18 18:10 +0100
Processed: Re: [PATCH resend] ARM: dts: sun7i: Disable OOB IRQ for brcm wifi on Cubietruck and Banana Pro "Debian Bug Tracking System" <owner@bugs.debian.org> - 2019-12-18 18:10 +0100
csiph-web