ARM: dts: imx6qdl-sr-som-ti: indicate powering off wifi is safe
diff mbox series

Message ID E1j7I7v-0004dS-5u@rmk-PC.armlinux.org.uk
State Mainlined
Commit b7dc7205b2ae6b6c9d9cfc3e47d6f08da8647b10
Headers show
Series
  • ARM: dts: imx6qdl-sr-som-ti: indicate powering off wifi is safe
Related show

Commit Message

Russell King Feb. 27, 2020, 12:18 p.m. UTC
We need to indicate that powering off the TI WiFi is safe, to avoid:

wl18xx_driver wl18xx.2.auto: Unbalanced pm_runtime_enable!
wl1271_sdio mmc0:0001:2: wl12xx_sdio_power_on: failed to get_sync(-13)

which prevents the WiFi being functional.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
---
 arch/arm/boot/dts/imx6qdl-sr-som-ti.dtsi | 1 +
 1 file changed, 1 insertion(+)

Comments

Fabio Estevam Feb. 27, 2020, 12:57 p.m. UTC | #1
Hi Russell,

On Thu, Feb 27, 2020 at 9:19 AM Russell King <rmk+kernel@armlinux.org.uk> wrote:
>
> We need to indicate that powering off the TI WiFi is safe, to avoid:
>
> wl18xx_driver wl18xx.2.auto: Unbalanced pm_runtime_enable!
> wl1271_sdio mmc0:0001:2: wl12xx_sdio_power_on: failed to get_sync(-13)
>
> which prevents the WiFi being functional.
>
> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

Shouldn't this have a Fixes tag so that it can be backported to stable kernels?
Russell King - ARM Linux admin Feb. 27, 2020, 1:45 p.m. UTC | #2
On Thu, Feb 27, 2020 at 09:57:40AM -0300, Fabio Estevam wrote:
> Hi Russell,
> 
> On Thu, Feb 27, 2020 at 9:19 AM Russell King <rmk+kernel@armlinux.org.uk> wrote:
> >
> > We need to indicate that powering off the TI WiFi is safe, to avoid:
> >
> > wl18xx_driver wl18xx.2.auto: Unbalanced pm_runtime_enable!
> > wl1271_sdio mmc0:0001:2: wl12xx_sdio_power_on: failed to get_sync(-13)
> >
> > which prevents the WiFi being functional.
> >
> > Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
> 
> Shouldn't this have a Fixes tag so that it can be backported to stable kernels?

If I knew where the breakage happened and what commit was responsible
for it, then yes - but it used to work with earlier kernels (I don't
know which) and at some point it broke.

The suggestion for how to fix it came from Jon Nettleton.
Russell King - ARM Linux admin Feb. 27, 2020, 3:17 p.m. UTC | #3
On Thu, Feb 27, 2020 at 01:45:39PM +0000, Russell King - ARM Linux admin wrote:
> On Thu, Feb 27, 2020 at 09:57:40AM -0300, Fabio Estevam wrote:
> > Hi Russell,
> > 
> > On Thu, Feb 27, 2020 at 9:19 AM Russell King <rmk+kernel@armlinux.org.uk> wrote:
> > >
> > > We need to indicate that powering off the TI WiFi is safe, to avoid:
> > >
> > > wl18xx_driver wl18xx.2.auto: Unbalanced pm_runtime_enable!
> > > wl1271_sdio mmc0:0001:2: wl12xx_sdio_power_on: failed to get_sync(-13)
> > >
> > > which prevents the WiFi being functional.
> > >
> > > Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
> > 
> > Shouldn't this have a Fixes tag so that it can be backported to stable kernels?
> 
> If I knew where the breakage happened and what commit was responsible
> for it, then yes - but it used to work with earlier kernels (I don't
> know which) and at some point it broke.
> 
> The suggestion for how to fix it came from Jon Nettleton.

Jon says:

"It was changes to the mmc power handling.  Basically telling the
controller that the card should be able to wake it up from a sleep
state.

"I think it has to do with the runtime PM addition.  This was added
to the TI driver in commit, 9b71578de08748defb3bcae3ce8ed1a75cb6a8d7
I don't know if that is what broke it, but that was the initial
integration.

"That was added after changes to the MMC layer were done I believe."

Jon thinks the idea for fixing it came from a post on one of the
mailing lists, but is unable to find it now.

So, I think the cause is now lost in the mists of time.
Fabio Estevam Feb. 27, 2020, 3:28 p.m. UTC | #4
On Thu, Feb 27, 2020 at 12:17 PM Russell King - ARM Linux admin
<linux@armlinux.org.uk> wrote:

> Jon says:
>
> "It was changes to the mmc power handling.  Basically telling the
> controller that the card should be able to wake it up from a sleep
> state.
>
> "I think it has to do with the runtime PM addition.  This was added
> to the TI driver in commit, 9b71578de08748defb3bcae3ce8ed1a75cb6a8d7
> I don't know if that is what broke it, but that was the initial
> integration.
>
> "That was added after changes to the MMC layer were done I believe."
>
> Jon thinks the idea for fixing it came from a post on one of the
> mailing lists, but is unable to find it now.
>
> So, I think the cause is now lost in the mists of time.

Ok, thanks for checking:

Reviewed-by: Fabio Estevam <festevam@gmail.com>
Shawn Guo March 11, 2020, 7:46 a.m. UTC | #5
On Thu, Feb 27, 2020 at 12:18:51PM +0000, Russell King wrote:
> We need to indicate that powering off the TI WiFi is safe, to avoid:
> 
> wl18xx_driver wl18xx.2.auto: Unbalanced pm_runtime_enable!
> wl1271_sdio mmc0:0001:2: wl12xx_sdio_power_on: failed to get_sync(-13)
> 
> which prevents the WiFi being functional.
> 
> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

Applied, thanks.

Patch
diff mbox series

diff --git a/arch/arm/boot/dts/imx6qdl-sr-som-ti.dtsi b/arch/arm/boot/dts/imx6qdl-sr-som-ti.dtsi
index 44a97ba93a95..352ac585ca6b 100644
--- a/arch/arm/boot/dts/imx6qdl-sr-som-ti.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sr-som-ti.dtsi
@@ -153,6 +153,7 @@ 
 	bus-width = <4>;
 	keep-power-in-suspend;
 	mmc-pwrseq = <&pwrseq_ti_wifi>;
+	cap-power-off-card;
 	non-removable;
 	vmmc-supply = <&vcc_3v3>;
 	/* vqmmc-supply = <&nvcc_sd1>; - MMC layer doesn't like it! */