Message ID | 20220919031250.770285-1-dzm91@hust.edu.cn |
---|---|
State | New |
Headers | show |
Series | [v2] gpio: tqmx86: fix uninitialized variable girq | expand |
On Mon, Sep 19, 2022 at 5:14 AM Dongliang Mu <dzm91@hust.edu.cn> wrote: > > From: Dongliang Mu <mudongliangabcd@gmail.com> > > 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@kernel.org> > Signed-off-by: Dongliang Mu <mudongliangabcd@gmail.com> > --- > 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
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);