mbox series

[PATCHv3,0/5] pinctrl fixes for generic functions and groups

Message ID 20180705091018.60524-1-tony@atomide.com
Headers show
Series pinctrl fixes for generic functions and groups | expand

Message

Tony Lindgren July 5, 2018, 9:10 a.m. UTC
Here is a resend of fixes for a race issues for generic group and
functions reported by H. Nikolaus Schaller <hns@goldelico.com>.

Regards,

Tony


Changes since v2:

- Added Nikolaus to Cc as Reported-by did not do it

Changes since v1:

- Check if a function or group already exists as suggested by
  Andy Shevchenko

- Make sure we always have a valid name for functions and groups
  as suggested by Christ van Willegen

- Prettify rza1 variables as suggested by Jacopo Mondi

Tony Lindgren (5):
  pinctrl: core: Return selector to the pinctrl driver
  pinctrl: pinmux: Return selector to the pinctrl driver
  pinctrl: single: Fix group and function selector use
  pinctrl: rza1: Fix selector use for groups and functions
  pinctrl: core: Remove broken remove_last group and pinmux functions

 drivers/pinctrl/core.c           | 35 ++++++++++--
 drivers/pinctrl/core.h           |  6 ---
 drivers/pinctrl/pinctrl-rza1.c   | 24 +++++----
 drivers/pinctrl/pinctrl-single.c | 91 +++++++++++++++++++-------------
 drivers/pinctrl/pinmux.c         | 16 ++++--
 drivers/pinctrl/pinmux.h         |  7 ---
 6 files changed, 112 insertions(+), 67 deletions(-)

Comments

H. Nikolaus Schaller July 5, 2018, 1:28 p.m. UTC | #1
Hi Tony and Linus,

> Am 05.07.2018 um 11:10 schrieb Tony Lindgren <tony@atomide.com>:
> 
> Here is a resend of fixes for a race issues for generic group and
> functions reported by H. Nikolaus Schaller <hns@goldelico.com>.

Thanks for adding me.

I have tested these patches on our OMAP3 based device where the problem
was quite reproducible and testable by adding some printk. With
these patches it seems now to be correct. Each group selector is
assigned only once, even if driver probing fails and is redone later.

Code review of the call paths has convinced us that we now have
proper mutex around the radix tree function calls and races are
no longer a problem.

So you can add my

	Tested-By: H. Nikolaus Schaller <hns@goldelico.com>

BR and thanks,
Nikolaus

> 
> Regards,
> 
> Tony
> 
> 
> Changes since v2:
> 
> - Added Nikolaus to Cc as Reported-by did not do it
> 
> Changes since v1:
> 
> - Check if a function or group already exists as suggested by
>  Andy Shevchenko
> 
> - Make sure we always have a valid name for functions and groups
>  as suggested by Christ van Willegen
> 
> - Prettify rza1 variables as suggested by Jacopo Mondi
> 
> Tony Lindgren (5):
>  pinctrl: core: Return selector to the pinctrl driver
>  pinctrl: pinmux: Return selector to the pinctrl driver
>  pinctrl: single: Fix group and function selector use
>  pinctrl: rza1: Fix selector use for groups and functions
>  pinctrl: core: Remove broken remove_last group and pinmux functions
> 
> drivers/pinctrl/core.c           | 35 ++++++++++--
> drivers/pinctrl/core.h           |  6 ---
> drivers/pinctrl/pinctrl-rza1.c   | 24 +++++----
> drivers/pinctrl/pinctrl-single.c | 91 +++++++++++++++++++-------------
> drivers/pinctrl/pinmux.c         | 16 ++++--
> drivers/pinctrl/pinmux.h         |  7 ---
> 6 files changed, 112 insertions(+), 67 deletions(-)
> 
> -- 
> 2.17.1

--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andy Shevchenko July 5, 2018, 1:55 p.m. UTC | #2
On Thu, Jul 5, 2018 at 12:10 PM, Tony Lindgren <tony@atomide.com> wrote:
> Here is a resend of fixes for a race issues for generic group and
> functions reported by H. Nikolaus Schaller <hns@goldelico.com>.
>

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>

I think for ACPI case we would use generic helpers, so this change is
quite useful to not screw up with new stuff.

> Regards,
>
> Tony
>
>
> Changes since v2:
>
> - Added Nikolaus to Cc as Reported-by did not do it
>
> Changes since v1:
>
> - Check if a function or group already exists as suggested by
>   Andy Shevchenko
>
> - Make sure we always have a valid name for functions and groups
>   as suggested by Christ van Willegen
>
> - Prettify rza1 variables as suggested by Jacopo Mondi
>
> Tony Lindgren (5):
>   pinctrl: core: Return selector to the pinctrl driver
>   pinctrl: pinmux: Return selector to the pinctrl driver
>   pinctrl: single: Fix group and function selector use
>   pinctrl: rza1: Fix selector use for groups and functions
>   pinctrl: core: Remove broken remove_last group and pinmux functions
>
>  drivers/pinctrl/core.c           | 35 ++++++++++--
>  drivers/pinctrl/core.h           |  6 ---
>  drivers/pinctrl/pinctrl-rza1.c   | 24 +++++----
>  drivers/pinctrl/pinctrl-single.c | 91 +++++++++++++++++++-------------
>  drivers/pinctrl/pinmux.c         | 16 ++++--
>  drivers/pinctrl/pinmux.h         |  7 ---
>  6 files changed, 112 insertions(+), 67 deletions(-)
>
> --
> 2.17.1
Linus Walleij July 9, 2018, 12:59 p.m. UTC | #3
On Thu, Jul 5, 2018 at 11:10 AM Tony Lindgren <tony@atomide.com> wrote:

> Here is a resend of fixes for a race issues for generic group and
> functions reported by H. Nikolaus Schaller <hns@goldelico.com>.

I applied these 5 for fixes (no choice I guess) will push them to the
zeroday build for testing and then to next. Added the tags from H.
Nikolaus and Andy on this.

Should this stuff even be tagged for stable? Else I target it
for v4.18.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tony Lindgren July 9, 2018, 1:11 p.m. UTC | #4
* Linus Walleij <linus.walleij@linaro.org> [180709 13:02]:
> On Thu, Jul 5, 2018 at 11:10 AM Tony Lindgren <tony@atomide.com> wrote:
> 
> > Here is a resend of fixes for a race issues for generic group and
> > functions reported by H. Nikolaus Schaller <hns@goldelico.com>.
> 
> I applied these 5 for fixes (no choice I guess) will push them to the
> zeroday build for testing and then to next. Added the tags from H.
> Nikolaus and Andy on this.

OK thanks.

> Should this stuff even be tagged for stable? Else I target it
> for v4.18.

Probably should. The fixes tags should do the trick already
hopefully though.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html