Hans de Goede
0e2705a3f9
gpiolib: acpi: Do not set the IRQ type if the IRQ is already in use
...
[ Upstream commit bdfd6ab8fd ]
If the IRQ is already in use, then acpi_dev_gpio_irq_get_by() really
should not change the type underneath the current owner.
I specifically hit an issue with this an a Chuwi Hi8 Super (CWI509) Bay
Trail tablet, when the Boot OS selection in the BIOS is set to Android.
In this case _STA for a MAX17047 ACPI I2C device wrongly returns 0xf and
the _CRS resources for this device include a GpioInt pointing to a GPIO
already in use by an _AEI handler, with a different type then specified
in the _CRS for the MAX17047 device. Leading to the acpi_dev_gpio_irq_get()
call done by the i2c-core-acpi.c code changing the type breaking the
_AEI handler.
Now this clearly is a bug in the DSDT of this tablet (in Android mode),
but in general calling irq_set_irq_type() on an IRQ which already is
in use seems like a bad idea.
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Signed-off-by: Sasha Levin <sashal@kernel.org >
2022-01-27 08:47:37 +01:00
..
2016-02-25 10:04:25 +01:00
2016-06-23 11:07:12 +02:00
2016-02-23 20:19:42 +05:30
2016-06-08 10:08:12 +02:00
2016-06-13 14:48:10 +02:00
2016-05-02 09:32:04 -07:00
2019-04-03 06:24:19 +02:00
2016-02-23 20:34:06 +05:30
2018-10-10 08:53:18 +02:00
2017-12-14 09:28:18 +01:00
2016-02-16 00:19:52 +01:00
2016-03-30 10:38:51 +02:00
2016-09-13 10:35:56 +02:00
2018-05-16 10:08:42 +02:00
2018-02-03 17:05:35 +01:00
2016-09-23 15:13:04 +02:00
2016-09-13 10:35:56 +02:00
2016-04-15 10:09:48 +02:00
2016-01-05 11:21:03 +01:00
2016-06-08 10:49:58 +02:00
2018-04-13 19:48:04 +02:00
2016-02-23 20:35:28 +05:30
2016-09-13 10:35:56 +02:00
2016-09-13 10:35:56 +02:00
2016-02-22 13:47:49 +01:00
2016-02-23 20:35:30 +05:30
2016-07-22 15:30:42 +02:00
2016-01-05 11:21:05 +01:00
2016-02-23 20:35:30 +05:30
2016-09-18 13:35:06 +02:00
2016-02-23 20:35:31 +05:30
2016-08-11 13:37:25 +02:00
2020-02-28 15:42:18 +01:00
2016-09-28 09:28:34 -07:00
2016-02-16 00:19:53 +01:00
2018-02-25 11:05:51 +01:00
2018-02-03 17:05:35 +01:00
2016-09-13 10:35:56 +02:00
2016-02-23 20:35:33 +05:30
2016-02-23 20:35:34 +05:30
2016-02-19 00:20:30 +01:00
2016-09-23 15:10:00 +02:00
2016-01-05 11:21:20 +01:00
2016-09-13 10:35:56 +02:00
2016-03-09 22:00:27 +07:00
2016-09-13 10:35:56 +02:00
2016-09-12 14:23:37 +02:00
2016-06-23 11:07:14 +02:00
2016-08-10 15:40:44 +02:00
2016-01-05 11:21:07 +01:00
2018-12-29 13:40:15 +01:00
2019-11-28 18:28:05 +01:00
2016-03-31 15:00:28 +02:00
2016-03-31 15:02:09 +02:00
2016-01-05 11:21:07 +01:00
2016-09-08 00:42:57 +02:00
2018-10-03 17:01:48 -07:00
2016-07-22 15:30:42 +02:00
2018-09-19 22:47:14 +02:00
2016-01-13 10:21:06 +01:00
2016-08-11 16:17:05 +02:00
2017-11-30 08:39:13 +00:00
2016-03-31 15:03:13 +02:00
2020-01-23 08:19:37 +01:00
2016-02-16 00:20:03 +01:00
2016-08-23 11:22:09 +02:00
2016-11-01 19:31:49 +01:00
2016-10-05 11:49:09 -07:00
2018-11-10 07:43:00 -08:00
2016-03-30 10:38:51 +02:00
2019-08-04 09:33:19 +02:00
2016-09-15 13:57:43 +02:00
2016-11-08 10:29:47 +01:00
2021-03-03 17:44:44 +01:00
2016-01-05 15:46:34 +01:00
2016-09-13 10:35:56 +02:00
2016-04-28 14:36:37 +02:00
2019-04-20 09:07:51 +02:00
2016-04-05 17:02:35 +02:00
2016-09-08 01:15:46 +02:00
2016-06-07 09:35:16 +02:00
2016-09-08 00:42:57 +02:00
2016-06-07 09:35:16 +02:00
2016-09-13 10:35:56 +02:00
2016-05-11 13:46:49 +02:00
2016-08-23 11:23:41 +02:00
2016-03-31 15:07:40 +02:00
2018-02-03 17:05:34 +01:00
2016-02-23 20:35:43 +05:30
2016-09-15 13:59:02 +02:00
2019-11-25 09:53:48 +01:00
2016-02-23 20:35:44 +05:30
2020-10-14 09:48:12 +02:00
2020-06-03 08:16:34 +02:00
2016-05-11 13:49:11 +02:00
2016-09-13 10:35:56 +02:00
2016-06-07 09:35:16 +02:00
2016-09-13 10:35:56 +02:00
2016-09-18 13:18:13 +02:00
2016-06-07 09:35:16 +02:00
2016-09-13 10:35:56 +02:00
2016-10-21 14:55:07 +02:00
2016-09-13 10:35:56 +02:00
2016-02-23 20:35:49 +05:30
2016-09-13 10:35:56 +02:00
2016-02-23 20:35:50 +05:30
2016-01-05 11:21:16 +01:00
2016-01-05 11:21:16 +01:00
2016-02-23 20:35:50 +05:30
2019-03-13 14:04:57 -07:00
2016-06-07 09:35:16 +02:00
2016-01-05 11:21:20 +01:00
2016-04-14 14:03:28 +02:00
2018-03-24 11:00:17 +01:00
2016-09-13 10:35:56 +02:00
2016-09-13 10:35:56 +02:00
2016-09-13 10:35:56 +02:00
2016-05-02 09:32:04 -07:00
2016-03-31 10:22:53 +02:00
2018-02-25 11:05:52 +01:00
2016-06-08 10:33:45 +02:00
2016-06-08 10:54:13 +02:00
2016-01-05 11:21:20 +01:00
2016-05-11 13:50:01 +02:00
2016-03-31 15:10:25 +02:00
2021-07-20 16:21:12 +02:00
2022-01-27 08:47:37 +01:00
2016-07-04 16:51:29 +02:00
2020-08-21 11:01:56 +02:00
2016-09-12 14:53:33 +02:00
2020-04-24 07:59:08 +02:00
2018-09-26 08:36:39 +02:00
2020-02-05 13:05:41 +00:00
2016-11-16 20:46:32 +01:00