On Mon, Sep 19, 2022 at 5:14 AM Dongliang Mu <dzm91@xxxxxxxxxxx> wrote: > > From: Dongliang Mu <mudongliangabcd@xxxxxxxxx> > > The commit 924610607f19 ("gpio: tpmx86: Move PM device over to > irq domain") adds a dereference of girq that may be uninitialized. > > Fix this by moving irq_domain_set_pm_device into if true branch > as suggested by Marc Zyngier. > > Fixes: 924610607f19 ("gpio: tpmx86: Move PM device over to irq domain") > Suggested-by: Marc Zyngier <maz@xxxxxxxxxx> > Signed-off-by: Dongliang Mu <mudongliangabcd@xxxxxxxxx> > --- > v1->v2: modify fix method to moving irq_domain_set_pm_device into > if true branch as suggested by Marc Zyngier > drivers/gpio/gpio-tqmx86.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpio/gpio-tqmx86.c b/drivers/gpio/gpio-tqmx86.c > index fa4bc7481f9a..e739dcea61b2 100644 > --- a/drivers/gpio/gpio-tqmx86.c > +++ b/drivers/gpio/gpio-tqmx86.c > @@ -307,6 +307,8 @@ static int tqmx86_gpio_probe(struct platform_device *pdev) > girq->default_type = IRQ_TYPE_NONE; > girq->handler = handle_simple_irq; > girq->init_valid_mask = tqmx86_init_irq_valid_mask; > + > + irq_domain_set_pm_device(girq->domain, dev); > } > > ret = devm_gpiochip_add_data(dev, chip, gpio); > @@ -315,8 +317,6 @@ static int tqmx86_gpio_probe(struct platform_device *pdev) > goto out_pm_dis; > } > > - irq_domain_set_pm_device(girq->domain, dev); > - > dev_info(dev, "GPIO functionality initialized with %d pins\n", > chip->ngpio); > > -- > 2.35.1 > Applied, thanks! Bart