Messages in this thread | | | Subject | Re: [PATCH] pinctrl: single: Fix error return code in pcs_parse_bits_in_pinctrl_entry() | From | "weiyongjun (A)" <> | Date | Thu, 15 Jul 2021 19:49:27 +0800 |
| |
> Fix to return -ENOTSUPP instead of 0 when PCS_HAS_PINCONF is true, which > is the same as that returned in pcs_parse_pinconf(). > > In addition, I found the value of pcs->flags is not overwritten in > pcs_parse_bits_in_pinctrl_entry() and its subfunctions, so moving this > check to the beginning of the function eliminates unnecessary rollback > operations. > > Fixes: 4e7e8017a80e ("pinctrl: pinctrl-single: enhance to configure multiple pins of different modules") > Reported-by: Hulk Robot <hulkci@huawei.com> > Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> > --- > drivers/pinctrl/pinctrl-single.c | 21 ++++++++------------- > 1 file changed, 8 insertions(+), 13 deletions(-) > > > npins_in_row = pcs->width / pcs->bits_per_pin; > > vals = devm_kzalloc(pcs->dev, > @@ -1212,29 +1217,19 @@ static int pcs_parse_bits_in_pinctrl_entry(struct pcs_device *pcs, > goto free_pins; > } > > - gsel = pinctrl_generic_add_group(pcs->pctl, np->name, pins, found, pcs); > - if (gsel < 0) { > - res = gsel; > + res = pinctrl_generic_add_group(pcs->pctl, np->name, pins, found, pcs); > + if (res < 0) > goto free_function; > - }
This change cause 'gsel' not set.
Do not mix this cleanup with bugfix.
| |