Hans de Goede
688880e6cf
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 >
2023-05-16 12:32:13 +09: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
2023-05-15 12:12:46 +09:00
2016-02-23 20:34:06 +05:30
2023-05-15 08:33:29 +09: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-01-05 11:21:00 +01:00
2016-09-18 13:35:06 +02:00
2016-02-23 20:35:31 +05:30
2016-08-11 13:37:25 +02:00
2023-05-15 16:58:09 +09: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
2015-11-30 09:31:00 +01:00
2023-05-15 10:45:28 +09:00
2023-05-15 15:16:59 +09: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
2023-05-15 08:29:18 +09:00
2016-07-22 15:30:42 +02:00
2023-05-15 08:14:26 +09: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
2023-05-15 16:34:37 +09: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
2023-05-15 09:15:14 +09:00
2016-03-30 10:38:51 +02:00
2023-05-15 14:00:39 +09:00
2016-09-15 13:57:43 +02:00
2016-11-08 10:29:47 +01:00
2023-05-16 10:38:52 +09: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
2023-05-15 12:23:08 +09: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
2023-05-15 15:12:37 +09:00
2016-02-23 20:35:44 +05:30
2023-05-16 09:23:31 +09:00
2023-05-15 17:29:54 +09: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
2023-05-15 11:50:28 +09: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
2023-05-16 11:26:47 +09:00
2023-05-16 12:32:13 +09:00
2016-07-04 16:51:29 +02:00
2023-05-16 08:45:31 +09:00
2017-06-09 20:16:29 -07:00
2023-05-15 17:15:47 +09:00
2023-05-15 08:21:08 +09:00
2023-05-15 16:54:11 +09:00
2016-11-16 20:46:32 +01:00