From: Sean Wang <[email protected]>
After the commit acf137951367 ("pinctrl: core: Return selector to the
pinctrl driver") and the commit 47f1242d19c3 ("pinctrl: pinmux: Return
selector to the pinctrl driver"), it's necessary to add the fixes
needed for the pin controller drivers to use the appropriate returned
selector for a negative error number returned in case of the fail at
these functions. Otherwise, the driver would have a failed probe and
that causes boot message cannot correctly output and devices fail
to acquire their own pins.
Cc: Kevin Hilman <[email protected]>
Fixes: acf137951367 ("pinctrl: core: Return selector to the pinctrl driver")
Fixes: 47f1242d19c3 ("pinctrl: pinmux: Return selector to the pinctrl driver")
Signed-off-by: Sean Wang <[email protected]>
---
drivers/pinctrl/mediatek/pinctrl-mt7622.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/pinctrl/mediatek/pinctrl-mt7622.c b/drivers/pinctrl/mediatek/pinctrl-mt7622.c
index 2411c384..6f931b8 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mt7622.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mt7622.c
@@ -1538,7 +1538,7 @@ static int mtk_build_groups(struct mtk_pinctrl *hw)
err = pinctrl_generic_add_group(hw->pctrl, group->name,
group->pins, group->num_pins,
group->data);
- if (err) {
+ if (err < 0) {
dev_err(hw->dev, "Failed to register group %s\n",
group->name);
return err;
@@ -1559,7 +1559,7 @@ static int mtk_build_functions(struct mtk_pinctrl *hw)
func->group_names,
func->num_group_names,
func->data);
- if (err) {
+ if (err < 0) {
dev_err(hw->dev, "Failed to register function %s\n",
func->name);
return err;
--
2.7.4
On Thu, Jul 12, 2018 at 7:50 AM <[email protected]> wrote:
> From: Sean Wang <[email protected]>
>
> After the commit acf137951367 ("pinctrl: core: Return selector to the
> pinctrl driver") and the commit 47f1242d19c3 ("pinctrl: pinmux: Return
> selector to the pinctrl driver"), it's necessary to add the fixes
> needed for the pin controller drivers to use the appropriate returned
> selector for a negative error number returned in case of the fail at
> these functions. Otherwise, the driver would have a failed probe and
> that causes boot message cannot correctly output and devices fail
> to acquire their own pins.
>
> Cc: Kevin Hilman <[email protected]>
> Fixes: acf137951367 ("pinctrl: core: Return selector to the pinctrl driver")
> Fixes: 47f1242d19c3 ("pinctrl: pinmux: Return selector to the pinctrl driver")
> Signed-off-by: Sean Wang <[email protected]>
Applied on top of Tony's patches on the fixes branch.
Now there are fixes piling on top of fixes and I am starting to feel
insecure of pushing this to v4.18 and I feel like letting these
fixes go to v4.19 (it can be picked to stable from there).
Tony: do you think there could be more fallout like this?
Yours,
Linus Walleij
* Linus Walleij <[email protected]> [180713 08:14]:
> On Thu, Jul 12, 2018 at 7:50 AM <[email protected]> wrote:
>
> > From: Sean Wang <[email protected]>
> >
> > After the commit acf137951367 ("pinctrl: core: Return selector to the
> > pinctrl driver") and the commit 47f1242d19c3 ("pinctrl: pinmux: Return
> > selector to the pinctrl driver"), it's necessary to add the fixes
> > needed for the pin controller drivers to use the appropriate returned
> > selector for a negative error number returned in case of the fail at
> > these functions. Otherwise, the driver would have a failed probe and
> > that causes boot message cannot correctly output and devices fail
> > to acquire their own pins.
> >
> > Cc: Kevin Hilman <[email protected]>
> > Fixes: acf137951367 ("pinctrl: core: Return selector to the pinctrl driver")
> > Fixes: 47f1242d19c3 ("pinctrl: pinmux: Return selector to the pinctrl driver")
> > Signed-off-by: Sean Wang <[email protected]>
>
> Applied on top of Tony's patches on the fixes branch.
>
> Now there are fixes piling on top of fixes and I am starting to feel
> insecure of pushing this to v4.18 and I feel like letting these
> fixes go to v4.19 (it can be picked to stable from there).
Yes might be worth waiting as we're getting close to the merge window.
> Tony: do you think there could be more fallout like this?
Based on grep -A5 pinctrl_generic_add we have also:
drivers/pinctrl/pinctrl-ingenic.c
Looks like it should check for if (err < 0). Adding Paul Cercueil
to Cc as well, Paul can you please check and patch?
Then 12f953b382bf ("pinctrl: rza1: Fix selector use for groups and
functions") seems to have fixed a similar issue for
drivers/pinctrl/pinctrl-rza1.c
Regards,
Tony