[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3bb3ca59-a248-eacd-9452-f1e7429b0557@huawei.com>
Date: Sat, 17 Sep 2022 19:19:53 +0800
From: Yang Yingliang <yangyingliang@...wei.com>
To: <andy.shevchenko@...il.com>
CC: <linux-gpio@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linus.walleij@...aro.org>, <p.zabel@...gutronix.de>,
<horatiu.vultur@...rochip.com>
Subject: Re: [PATCH -next v2 1/2] pinctrl: ocelot: add missing
destroy_workqueue() in error path in ocelot_pinctrl_probe()
Hi,
On 2022/9/17 16:54, andy.shevchenko@...il.com wrote:
> Sat, Sep 17, 2022 at 10:46:33AM +0800, Yang Yingliang kirjoitti:
>> Add the missing destroy_workqueue() before return from ocelot_pinctrl_probe()
>> in error path.
>>
>> Fixes: c297561bc98a ("pinctrl: ocelot: Fix interrupt controller")
>> Signed-off-by: Yang Yingliang <yangyingliang@...wei.com>
>> ---
>> v2:
>> move alloc_ordered_workqueue() after ocelot_pinctrl_register().
> Why? What will happen if user space start using pins before workqueue is allocated?
This is a suggestion from Horatiu Vultur.
And I think the workqueue is used in ocelot_irq_unmask_level(), but
before ocelot_gpiochip_register() calling,
the irq is not prepared, the work won't be queued before
ocelot_gpiochip_register().
>
> If you really want to have it correct, you need either drop all devm_ calls
> after allocating workqueue, or wrap destroying into devm.
I am trying to add devm APIs for allocating workqueue.
Thanks,
Yang
>
Powered by blists - more mailing lists