diff mbox series

pinctrl: renesas: pinctrl-rzg2l: Return -EINVAL for pins which have input disabled

Message ID 20220511094057.3151-1-prabhakar.mahadev-lad.rj@bp.renesas.com (mailing list archive)
State Accepted
Delegated to: Geert Uytterhoeven
Headers show
Series pinctrl: renesas: pinctrl-rzg2l: Return -EINVAL for pins which have input disabled | expand

Commit Message

Lad Prabhakar May 11, 2022, 9:40 a.m. UTC
Pin status reported by pinconf-pins file always reported pin status as
"input enabled" even for pins which had input disabled. Fix this by
returning -EINVAL for the pins which have input disabled.

Fixes: c4c4637eb57f2 ("pinctrl: renesas: Add RZ/G2L pin and gpio controller driver")
Reported-by: Phil Edworthy <phil.edworthy@renesas.com>
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
 drivers/pinctrl/renesas/pinctrl-rzg2l.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Phil Edworthy May 11, 2022, 9:53 a.m. UTC | #1
Hi Prabhakar,

On 11 May 2022 10:41 Lad Prabhakar wrote:
> Pin status reported by pinconf-pins file always reported pin status as
> "input enabled" even for pins which had input disabled. Fix this by
> returning -EINVAL for the pins which have input disabled.
> 
> Fixes: c4c4637eb57f2 ("pinctrl: renesas: Add RZ/G2L pin and gpio
> controller driver")
> Reported-by: Phil Edworthy <phil.edworthy@renesas.com>
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

Reviewed-by: Phil Edworthy <phil.edworthy@renesas.com>

> ---
>  drivers/pinctrl/renesas/pinctrl-rzg2l.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/pinctrl/renesas/pinctrl-rzg2l.c
> b/drivers/pinctrl/renesas/pinctrl-rzg2l.c
> index af2c739cdbaa..a63535ea47f5 100644
> --- a/drivers/pinctrl/renesas/pinctrl-rzg2l.c
> +++ b/drivers/pinctrl/renesas/pinctrl-rzg2l.c
> @@ -527,6 +527,8 @@ static int rzg2l_pinctrl_pinconf_get(struct
> pinctrl_dev *pctldev,
>  		if (!(cfg & PIN_CFG_IEN))
>  			return -EINVAL;
>  		arg = rzg2l_read_pin_config(pctrl, IEN(port_offset), bit,
> IEN_MASK);
> +		if (!arg)
> +			return -EINVAL;
>  		break;
> 
>  	case PIN_CONFIG_POWER_SOURCE: {
> --
> 2.25.1

Thanks
Phil
Geert Uytterhoeven May 17, 2022, 7:48 a.m. UTC | #2
On Wed, May 11, 2022 at 11:41 AM Lad Prabhakar
<prabhakar.mahadev-lad.rj@bp.renesas.com> wrote:
> Pin status reported by pinconf-pins file always reported pin status as
> "input enabled" even for pins which had input disabled. Fix this by
> returning -EINVAL for the pins which have input disabled.
>
> Fixes: c4c4637eb57f2 ("pinctrl: renesas: Add RZ/G2L pin and gpio controller driver")
> Reported-by: Phil Edworthy <phil.edworthy@renesas.com>
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

Nice catch!

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
i.e. will queue in renesas-pinctrl-for-v5.20.

BTW, several other (non-Renesas) drivers seem to get this wrong, too.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
diff mbox series

Patch

diff --git a/drivers/pinctrl/renesas/pinctrl-rzg2l.c b/drivers/pinctrl/renesas/pinctrl-rzg2l.c
index af2c739cdbaa..a63535ea47f5 100644
--- a/drivers/pinctrl/renesas/pinctrl-rzg2l.c
+++ b/drivers/pinctrl/renesas/pinctrl-rzg2l.c
@@ -527,6 +527,8 @@  static int rzg2l_pinctrl_pinconf_get(struct pinctrl_dev *pctldev,
 		if (!(cfg & PIN_CFG_IEN))
 			return -EINVAL;
 		arg = rzg2l_read_pin_config(pctrl, IEN(port_offset), bit, IEN_MASK);
+		if (!arg)
+			return -EINVAL;
 		break;
 
 	case PIN_CONFIG_POWER_SOURCE: {