Messages in this thread |  | | Date | Wed, 15 Apr 2015 11:52:07 +0200 | From | Jacek Anaszewski <> | Subject | Re: [PATCH] leds: gpio: Fix device teardown on probe deferral |
| |
On 04/15/2015 11:29 AM, Sebastian Hesselbarth wrote: > On 04/15/2015 11:11 AM, Jacek Anaszewski wrote: >> On 04/14/2015 11:23 PM, Sebastian Hesselbarth wrote: >>> In gpio_leds_create(), when devm_get_gpiod_from_child() fails with >>> -EPROBE_DEFER on the second gpio led to be created, the first already >>> registered led is not torn down properly. This causes create_gpio_led() >>> to fail for the first led on re-probe(). >>> >>> Fix this misbehaviour by incrementing num_leds only if all >>> potentially failing calls completed successfully. >>> >>> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> >>> --- >>> Cc: Bryan Wu <cooloney@gmail.com> >>> Cc: Richard Purdie <rpurdie@rpsys.net> >>> Cc: linux-leds@vger.kernel.org >>> Cc: linux-kernel@vger.kernel.org >>> --- >>> drivers/leds/leds-gpio.c | 5 +++-- >>> 1 file changed, 3 insertions(+), 2 deletions(-) >> >> For this patch: >> >> Acked-by: Jacek Anaszewski <j.anaszewski@samsung.com> > > Jacek, Thanks! > >> I have a question regarding the sequence above on line 201: >> >> if (!led.name) >> return ERR_PTR(-EINVAL); >> >> Shouldn't this be also 'goto err"? > > Yes, every error within the loop has to goto the err label. > Mind to send a patch fixing it?
OK, I'll take care of it.
-- Best Regards, Jacek Anaszewski
|  |