diff options
author | Wolfram Sang <w.sang@pengutronix.de> | 2008-06-28 14:31:52 -0400 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2008-07-22 03:13:04 -0400 |
commit | 11d579ee0a19052a5a90ebfe0c39e7ed8ce8a9dc (patch) | |
tree | d6785e59b3e9c643ce2fac2b67e793ea1ccc8827 /drivers/of | |
parent | e89970aa93b06d0605a488e74af3b0a2a80e03b5 (diff) |
powerpc/mpc5200: Fix wrong 'no interrupt' handling in of_i2c
If an I2C device node does not specify an interrupt, the .irq member of the
board_info struct was set to -1. This caused crashes on following
irq_dispose_mappings. Leave it NO_IRQ as returned from irq_of_parse_and_map.
(Suggesting -1 as 'i2c-no-irq' used to be a bug in linux/i2c.h.)
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Sean MacLennan <smaclennan@pikatech.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers/of')
-rw-r--r-- | drivers/of/of_i2c.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/of/of_i2c.c b/drivers/of/of_i2c.c index 5c015d310d4a..344e1b03dd8b 100644 --- a/drivers/of/of_i2c.c +++ b/drivers/of/of_i2c.c | |||
@@ -91,8 +91,6 @@ void of_register_i2c_devices(struct i2c_adapter *adap, | |||
91 | } | 91 | } |
92 | 92 | ||
93 | info.irq = irq_of_parse_and_map(node, 0); | 93 | info.irq = irq_of_parse_and_map(node, 0); |
94 | if (info.irq == NO_IRQ) | ||
95 | info.irq = -1; | ||
96 | 94 | ||
97 | if (of_find_i2c_driver(node, &info) < 0) { | 95 | if (of_find_i2c_driver(node, &info) < 0) { |
98 | irq_dispose_mapping(info.irq); | 96 | irq_dispose_mapping(info.irq); |