linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] gpio: pca953x: fix irq_domain_add_simple usage
@ 2013-04-03 17:40 Alexandre Belloni
  2013-04-09 21:34 ` Alexandre Belloni
  2013-04-10 20:54 ` Linus Walleij
  0 siblings, 2 replies; 4+ messages in thread
From: Alexandre Belloni @ 2013-04-03 17:40 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Grant Likely, jimwall, brian, Maxime Ripard, linux-kernel,
	Alexandre Belloni

We actually have to pass chip as the host_data parameter of
irq_domain_add_simple() as later on, it is used to initialize chip_data
in pca953x_gpio_irq_map(). Failing to do so is leading to a NULL pointer
dereference after calling irq_data_get_irq_chip_data() in
pca953x_irq_mask(), pca953x_irq_unmask(), pca953x_irq_bus_lock(),
pca953x_irq_bus_sync_unlock() and pca953x_irq_set_type().

Fixes regression introduced by commit
0e8f2fdacf1d44651aa7e57063c76142d1f4988b (gpio: pca953x: use simple
irqdomain)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
---

This would probably be good to introduce that patch in the next 3.9 rc as the
regression leads to a lot of breakage (and cursing).

 drivers/gpio/gpio-pca953x.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c
index e2dcac5..ea26e59 100644
--- a/drivers/gpio/gpio-pca953x.c
+++ b/drivers/gpio/gpio-pca953x.c
@@ -575,7 +575,7 @@ static int pca953x_irq_setup(struct pca953x_chip *chip,
 						chip->gpio_chip.ngpio,
 						irq_base,
 						&pca953x_irq_simple_ops,
-						NULL);
+						chip);
 		if (!chip->domain)
 			return -ENODEV;
 
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-04-11  7:50 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-03 17:40 [PATCH] gpio: pca953x: fix irq_domain_add_simple usage Alexandre Belloni
2013-04-09 21:34 ` Alexandre Belloni
2013-04-10 20:54 ` Linus Walleij
2013-04-11  7:50   ` Maxime Ripard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).