[PATCH] pinctrl: sh-pfc: core: only call pinctrl_provide_dummies() on SuperH

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The 'ravb' Ethernet driver couldn't connect to  the PHY as the MDIO bus
appeared empty on the Renesas R-Car boards. The bug hunt finally pointed
at  the commit adding the "init" pintcrl state: it tries to switch to non-
default state before the driver probe which should fail but doesn't as the
PFC pinctrl driver happens to call pinctrl_provide_dummies()  which makes
all state lookups succeed, even though the state doesn't really exist.
That feature is only relevant to non-DT systems and all the ARM boards
that use the PFC driver  have been converted to the DT boot, so limiting
it to the SuperH architecture seems The Right Thing...

Fixes: ef0eebc05130 ("drivers/pinctrl: Add the concept of an "init" state")
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
CC: stable@xxxxxxxxxxxxxxx

---
The patch is against the 'fixes' branch of Linus W.'s 'linux-pinctrl.git' repo.
As  the bug only seems to happen  to the hardware that's not pre-configured by
U-Boot, this patch can wait till 4.6 in principle...

 drivers/pinctrl/sh-pfc/core.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Index: linux-pinctrl/drivers/pinctrl/sh-pfc/core.c
===================================================================
--- linux-pinctrl.orig/drivers/pinctrl/sh-pfc/core.c
+++ linux-pinctrl/drivers/pinctrl/sh-pfc/core.c
@@ -545,7 +545,8 @@ static int sh_pfc_probe(struct platform_
 			return ret;
 	}
 
-	pinctrl_provide_dummies();
+	if (IS_ENABLED(CONFIG_SUPERH))
+		pinctrl_provide_dummies();
 
 	ret = sh_pfc_init_ranges(pfc);
 	if (ret < 0)




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux