2019-01-27 20:30:47

by Ioan-Adrian Ratiu

[permalink] [raw]
Subject: [RFC][PATCH] Revert "ARM: dts: bcm2837: Fix polarity of wifi reset GPIOs"

This reverts commit bea8a160c621d19f7f78b13e14e03f4b8e44cd4b.

Contrary to what the commit message says, on my rpi 3 b v1.2 changing
the polarity causes the exact behaviour this commit intends to fix, as
described at the referenced link below (wlan0 disapears).

With reset-gpios = ... GPIO_ACTIVE_HIGH, brcmfmac errors in dmesg:

[ 7.977512] brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
[ 7.977623] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
[ 7.978007] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
[ 7.978377] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
[ 7.978724] brcmfmac: brcmf_sdio_dpc: failed backplane access over SDIO, halting operation
[ 7.978734] brcmfmac: brcmf_proto_bcdc_query_dcmd: brcmf_proto_bcdc_msg failed w/status -110
[ 7.978747] brcmfmac: brcmf_cfg80211_get_channel: chanspec failed (-110)
[ 7.982817] brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
[ 7.982880] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
[ 7.983255] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame

The only solution I currently have is to revert and everything works
as expected and as before changing the polarity.

Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911443
Signed-off-by: Ioan-Adrian Ratiu <[email protected]>
---
arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 2 +-
arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
index 93762244be7f..4adb85e66be3 100644
--- a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
@@ -31,7 +31,7 @@

wifi_pwrseq: wifi-pwrseq {
compatible = "mmc-pwrseq-simple";
- reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
+ reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>;
};
};

diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
index 89e6fd547c75..c318bcbc6ba7 100644
--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
@@ -26,7 +26,7 @@

wifi_pwrseq: wifi-pwrseq {
compatible = "mmc-pwrseq-simple";
- reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
+ reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>;
};
};

--
2.20.1



2019-01-27 20:34:25

by Ioan-Adrian Ratiu

[permalink] [raw]
Subject: Re: [RFC][PATCH] Revert "ARM: dts: bcm2837: Fix polarity of wifi reset GPIOs"

Link to the full 4.19.18 config I'm using:

https://drive.google.com/open?id=1ZI3MeGB2fkYMsEjzGQYXUk2wqr0h9h7R

On Sun, 27 Jan 2019, Ioan-Adrian Ratiu <[email protected]> wrote:
> This reverts commit bea8a160c621d19f7f78b13e14e03f4b8e44cd4b.
>
> Contrary to what the commit message says, on my rpi 3 b v1.2 changing
> the polarity causes the exact behaviour this commit intends to fix, as
> described at the referenced link below (wlan0 disapears).
>
> With reset-gpios = ... GPIO_ACTIVE_HIGH, brcmfmac errors in dmesg:
>
> [ 7.977512] brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
> [ 7.977623] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
> [ 7.978007] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
> [ 7.978377] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
> [ 7.978724] brcmfmac: brcmf_sdio_dpc: failed backplane access over SDIO, halting operation
> [ 7.978734] brcmfmac: brcmf_proto_bcdc_query_dcmd: brcmf_proto_bcdc_msg failed w/status -110
> [ 7.978747] brcmfmac: brcmf_cfg80211_get_channel: chanspec failed (-110)
> [ 7.982817] brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
> [ 7.982880] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
> [ 7.983255] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
>
> The only solution I currently have is to revert and everything works
> as expected and as before changing the polarity.
>
> Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911443
> Signed-off-by: Ioan-Adrian Ratiu <[email protected]>
> ---
> arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 2 +-
> arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
> index 93762244be7f..4adb85e66be3 100644
> --- a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
> +++ b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
> @@ -31,7 +31,7 @@
>
> wifi_pwrseq: wifi-pwrseq {
> compatible = "mmc-pwrseq-simple";
> - reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
> + reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>;
> };
> };
>
> diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
> index 89e6fd547c75..c318bcbc6ba7 100644
> --- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
> +++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
> @@ -26,7 +26,7 @@
>
> wifi_pwrseq: wifi-pwrseq {
> compatible = "mmc-pwrseq-simple";
> - reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
> + reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>;
> };
> };
>
> --
> 2.20.1

2019-01-27 21:04:20

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [RFC][PATCH] Revert "ARM: dts: bcm2837: Fix polarity of wifi reset GPIOs"

On Sun, Jan 27, 2019 at 10:28:13PM +0200, Ioan-Adrian Ratiu wrote:
> This reverts commit bea8a160c621d19f7f78b13e14e03f4b8e44cd4b.
>
> Contrary to what the commit message says, on my rpi 3 b v1.2 changing
> the polarity causes the exact behaviour this commit intends to fix, as
> described at the referenced link below (wlan0 disapears).
>
> With reset-gpios = ... GPIO_ACTIVE_HIGH, brcmfmac errors in dmesg:
>
> [ 7.977512] brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
> [ 7.977623] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
> [ 7.978007] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
> [ 7.978377] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
> [ 7.978724] brcmfmac: brcmf_sdio_dpc: failed backplane access over SDIO, halting operation
> [ 7.978734] brcmfmac: brcmf_proto_bcdc_query_dcmd: brcmf_proto_bcdc_msg failed w/status -110
> [ 7.978747] brcmfmac: brcmf_cfg80211_get_channel: chanspec failed (-110)
> [ 7.982817] brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
> [ 7.982880] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
> [ 7.983255] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
>
> The only solution I currently have is to revert and everything works
> as expected and as before changing the polarity.
>
> Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911443
> Signed-off-by: Ioan-Adrian Ratiu <[email protected]>
> ---
> arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 2 +-
> arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)

<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree. Please read:
https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
for how to do this properly.

</formletter>

2019-01-27 21:34:31

by Stefan Wahren

[permalink] [raw]
Subject: Re: [RFC][PATCH] Revert "ARM: dts: bcm2837: Fix polarity of wifi reset GPIOs"

Hi Ioan-Adrian,

> Ioan-Adrian Ratiu <[email protected]> hat am 27. Januar 2019 um 21:28 geschrieben:
>
>
> This reverts commit bea8a160c621d19f7f78b13e14e03f4b8e44cd4b.
>
> Contrary to what the commit message says, on my rpi 3 b v1.2 changing
> the polarity causes the exact behaviour this commit intends to fix, as
> described at the referenced link below (wlan0 disapears).
>
> With reset-gpios = ... GPIO_ACTIVE_HIGH, brcmfmac errors in dmesg:
>
> [ 7.977512] brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
> [ 7.977623] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
> [ 7.978007] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
> [ 7.978377] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
> [ 7.978724] brcmfmac: brcmf_sdio_dpc: failed backplane access over SDIO, halting operation
> [ 7.978734] brcmfmac: brcmf_proto_bcdc_query_dcmd: brcmf_proto_bcdc_msg failed w/status -110
> [ 7.978747] brcmfmac: brcmf_cfg80211_get_channel: chanspec failed (-110)
> [ 7.982817] brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
> [ 7.982880] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
> [ 7.983255] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
>
> The only solution I currently have is to revert and everything works
> as expected and as before changing the polarity.
>
> Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911443
> Signed-off-by: Ioan-Adrian Ratiu <[email protected]>
> ---

reverting this commit will only workaround the real issue. It lies in the sdhci-iproc driver.

Could please try this instead patch [1]?

[1] - https://patchwork.kernel.org/patch/10741809/

2019-01-28 18:32:14

by Ioan-Adrian Ratiu

[permalink] [raw]
Subject: Re: [RFC][PATCH] Revert "ARM: dts: bcm2837: Fix polarity of wifi reset GPIOs"

Hi Stefan and thank you for looking into this,

On Sun, 27 Jan 2019, Stefan Wahren <[email protected]> wrote:
> Hi Ioan-Adrian,
>
>> Ioan-Adrian Ratiu <[email protected]> hat am 27. Januar 2019 um
>> 21:28 geschrieben: This reverts commit
>> bea8a160c621d19f7f78b13e14e03f4b8e44cd4b. Contrary to what
>> the commit message says, on my rpi 3 b v1.2 changing the
>> polarity causes the exact behaviour this commit intends to fix,
>> as described at the referenced link below (wlan0 disapears).
>> With reset-gpios = ... GPIO_ACTIVE_HIGH, brcmfmac errors in
>> dmesg: [ 7.977512] brcmfmac: brcmf_sdio_bus_sleep: error
>> while changing bus sleep state -110 [ 7.977623] brcmfmac:
>> brcmf_sdio_txfail: sdio error, abort command and terminate
>> frame [ 7.978007] brcmfmac: brcmf_sdio_txfail: sdio error,
>> abort command and terminate frame [ 7.978377] brcmfmac:
>> brcmf_sdio_txfail: sdio error, abort command and terminate
>> frame [ 7.978724] brcmfmac: brcmf_sdio_dpc: failed backplane
>> access over SDIO, halting operation [ 7.978734] brcmfmac:
>> brcmf_proto_bcdc_query_dcmd: brcmf_proto_bcdc_msg failed
>> w/status -110 [ 7.978747] brcmfmac:
>> brcmf_cfg80211_get_channel: chanspec failed (-110) [
>> 7.982817] brcmfmac: brcmf_sdio_bus_sleep: error while changing
>> bus sleep state -110 [ 7.982880] brcmfmac:
>> brcmf_sdio_txfail: sdio error, abort command and terminate
>> frame [ 7.983255] brcmfmac: brcmf_sdio_txfail: sdio error,
>> abort command and terminate frame The only solution I
>> currently have is to revert and everything works as expected
>> and as before changing the polarity. Link:
>> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911443
>> Signed-off-by: Ioan-Adrian Ratiu <[email protected]> ---
>
> reverting this commit will only workaround the real issue. It
> lies in the sdhci-iproc driver.
>
> Could please try this instead patch [1]?

Yes, the patch fixes the bug and it's also in Linus' master branch
in v5.0-rc3 as commit 2bd44da ("mmc: sdhci-iproc: handle
mmc_of_parse() errors during prob").

There was just a minor conflict cherry-picking it to 4.19.y
(sdhci_get_property -> sdhci_get_of_property).

I would really like to have 2bd44da backported to the 4.19 stable
tree to have wifi working again. Please?

Tested-by: Ioan-Adrian Ratiu <[email protected]> #4.19.18

>
> [1] - https://patchwork.kernel.org/patch/10741809/

2019-01-28 18:46:15

by Stefan Wahren

[permalink] [raw]
Subject: Re: [RFC][PATCH] Revert "ARM: dts: bcm2837: Fix polarity of wifi reset GPIOs"

Hi,

> Ioan-Adrian Ratiu <[email protected]> hat am 28. Januar 2019 um 19:31 geschrieben:
>
>
> Hi Stefan and thank you for looking into this,
>
> On Sun, 27 Jan 2019, Stefan Wahren <[email protected]> wrote:
> > Hi Ioan-Adrian,
> >
> >> Ioan-Adrian Ratiu <[email protected]> hat am 27. Januar 2019 um
> >> 21:28 geschrieben: This reverts commit
> >> bea8a160c621d19f7f78b13e14e03f4b8e44cd4b. Contrary to what
> >> the commit message says, on my rpi 3 b v1.2 changing the
> >> polarity causes the exact behaviour this commit intends to fix,
> >> as described at the referenced link below (wlan0 disapears).
> >> With reset-gpios = ... GPIO_ACTIVE_HIGH, brcmfmac errors in
> >> dmesg: [ 7.977512] brcmfmac: brcmf_sdio_bus_sleep: error
> >> while changing bus sleep state -110 [ 7.977623] brcmfmac:
> >> brcmf_sdio_txfail: sdio error, abort command and terminate
> >> frame [ 7.978007] brcmfmac: brcmf_sdio_txfail: sdio error,
> >> abort command and terminate frame [ 7.978377] brcmfmac:
> >> brcmf_sdio_txfail: sdio error, abort command and terminate
> >> frame [ 7.978724] brcmfmac: brcmf_sdio_dpc: failed backplane
> >> access over SDIO, halting operation [ 7.978734] brcmfmac:
> >> brcmf_proto_bcdc_query_dcmd: brcmf_proto_bcdc_msg failed
> >> w/status -110 [ 7.978747] brcmfmac:
> >> brcmf_cfg80211_get_channel: chanspec failed (-110) [
> >> 7.982817] brcmfmac: brcmf_sdio_bus_sleep: error while changing
> >> bus sleep state -110 [ 7.982880] brcmfmac:
> >> brcmf_sdio_txfail: sdio error, abort command and terminate
> >> frame [ 7.983255] brcmfmac: brcmf_sdio_txfail: sdio error,
> >> abort command and terminate frame The only solution I
> >> currently have is to revert and everything works as expected
> >> and as before changing the polarity. Link:
> >> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911443
> >> Signed-off-by: Ioan-Adrian Ratiu <[email protected]> ---
> >
> > reverting this commit will only workaround the real issue. It
> > lies in the sdhci-iproc driver.
> >
> > Could please try this instead patch [1]?
>
> Yes, the patch fixes the bug and it's also in Linus' master branch
> in v5.0-rc3 as commit 2bd44da ("mmc: sdhci-iproc: handle
> mmc_of_parse() errors during prob").
>
> There was just a minor conflict cherry-picking it to 4.19.y
> (sdhci_get_property -> sdhci_get_of_property).
>
> I would really like to have 2bd44da backported to the 4.19 stable
> tree to have wifi working again. Please?
>
> Tested-by: Ioan-Adrian Ratiu <[email protected]> #4.19.18

i wasn't aware of this conflict until sunday. Yes, i will backport it.

Thanks
Stefan

>
> >
> > [1] - https://patchwork.kernel.org/patch/10741809/