Anup Patel
abb7205794
irqchip/sifive-plic: Improve locking safety by using irqsave/irqrestore
...
Now that PLIC driver is probed as a regular platform driver, the lock
dependency validator complains about the safety of handler->enable_lock
usage:
[ 0.956775] Possible interrupt unsafe locking scenario:
[ 0.956998] CPU0 CPU1
[ 0.957247] ---- ----
[ 0.957439] lock(&handler->enable_lock);
[ 0.957607] local_irq_disable();
[ 0.957793] lock(&irq_desc_lock_class);
[ 0.958021] lock(&handler->enable_lock);
[ 0.958246] <Interrupt>
[ 0.958342] lock(&irq_desc_lock_class);
[ 0.958501]
*** DEADLOCK ***
To address above, use raw_spin_lock_irqsave/unlock_irqrestore() instead
of raw_spin_lock/unlock().
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240222094006.1030709-8-apatel@ventanamicro.com
2024-02-23 10:18:44 +01:00
..
2021-06-11 14:32:12 +01:00
2023-04-13 13:13:50 -07:00
2023-02-13 19:39:25 +00:00
2023-02-25 11:30:21 -08:00
2023-01-11 19:51:39 +01:00
2022-05-04 16:37:48 +01:00
2023-02-05 10:55:19 +00:00
2021-10-26 10:13:31 +01:00
2021-06-10 13:09:19 +01:00
2021-10-26 10:13:31 +01:00
2021-10-26 10:13:31 +01:00
2021-10-26 10:13:31 +01:00
2023-01-11 19:51:39 +01:00
2023-08-28 11:33:03 +02:00
2023-08-21 17:49:11 +01:00
2023-02-18 14:23:41 +00:00
2023-08-21 17:49:11 +01:00
2023-06-17 07:21:08 +01:00
2023-04-08 11:07:49 +01:00
2021-11-12 16:09:50 +00:00
2021-10-26 10:13:31 +01:00
2021-10-26 10:13:31 +01:00
2021-10-26 10:13:31 +01:00
2023-06-17 07:20:52 +01:00
2023-05-30 11:01:22 +01:00
2023-10-07 12:47:12 +01:00
2023-08-21 17:49:11 +01:00
2022-06-09 17:36:57 +01:00
2023-04-08 11:07:49 +01:00
2023-08-21 17:49:11 +01:00
2021-12-09 11:52:20 +01:00
2024-01-08 15:27:15 -08:00
2023-02-13 19:31:25 +00:00
2024-02-15 17:55:39 +01:00
2023-12-20 19:26:31 -05:00
2023-04-08 10:50:04 +01:00
2021-06-10 13:09:19 +01:00
2021-10-26 10:13:31 +01:00
2023-08-21 17:40:30 +01:00
2021-06-10 13:09:19 +01:00
2021-06-11 14:32:12 +01:00
2023-02-08 13:37:55 +01:00
2024-02-20 17:30:57 +01:00
2023-08-21 17:49:11 +01:00
2023-08-21 17:42:00 +01:00
2021-12-16 15:19:52 +00:00
2021-06-10 13:09:19 +01:00
2022-04-25 20:53:18 +02:00
2023-06-17 07:54:48 +01:00
2023-08-21 17:49:11 +01:00
2022-12-05 10:45:11 +00:00
2023-08-21 17:39:21 +01:00
2021-06-10 13:09:19 +01:00
2023-08-21 17:49:11 +01:00
2023-06-16 12:59:28 +01:00
2022-11-26 13:12:13 +00:00
2023-02-13 19:31:25 +00:00
2023-08-21 17:49:11 +01:00
2022-02-15 11:25:46 +00:00
2021-06-10 13:09:19 +01:00
2022-12-05 10:39:52 +00:00
2023-10-27 09:15:44 +02:00
2023-08-21 17:49:11 +01:00
2023-05-16 11:19:29 +01:00
2023-04-13 13:13:52 -07:00
2023-08-21 17:49:12 +01:00
2021-07-09 10:18:58 +01:00
2023-08-21 17:40:20 +01:00
2023-06-17 07:21:02 +01:00
2021-06-10 13:09:19 +01:00
2021-04-07 13:26:00 +01:00
2022-11-28 11:44:02 +00:00
2021-08-12 08:15:15 +01:00
2023-02-05 11:11:24 +00:00
2022-12-06 12:50:17 +01:00
2023-02-13 19:31:25 +00:00
2022-02-15 11:25:46 +00:00
2023-08-21 17:49:11 +01:00
2023-06-21 13:50:53 +01:00
2022-03-23 17:35:57 -07:00
2021-10-26 10:13:31 +01:00
2022-06-28 17:31:15 +09:00
2023-08-21 17:48:59 +01:00
2020-09-25 16:57:33 +01:00
2021-07-26 18:01:27 +01:00
2021-07-09 10:18:58 +01:00
2023-08-21 17:49:11 +01:00
2023-12-12 15:40:42 +01:00
2021-10-26 10:13:31 +01:00
2022-09-28 14:17:10 +01:00
2023-08-21 17:49:11 +01:00
2023-04-13 13:13:52 -07:00
2023-04-13 13:13:52 -07:00
2023-12-12 15:40:41 +01:00
2024-02-23 09:57:42 +01:00
2021-10-26 10:13:31 +01:00
2024-02-23 10:18:44 +01:00
2023-04-13 13:13:53 -07:00
2022-05-04 16:33:17 +01:00
2022-07-08 14:23:57 +02:00
2023-08-21 17:49:11 +01:00
2023-10-07 12:47:12 +01:00
2021-10-26 10:13:31 +01:00
2022-05-04 16:36:59 +01:00
2023-08-21 17:49:11 +01:00
2023-08-21 17:49:11 +01:00
2022-06-15 17:41:11 +02:00
2023-08-21 17:49:11 +01:00
2023-08-21 17:49:11 +01:00
2022-02-15 11:25:46 +00:00
2023-08-21 17:49:11 +01:00
2023-08-14 10:26:56 +02:00
2021-10-26 10:13:31 +01:00
2021-10-26 10:13:31 +01:00
2022-11-26 13:29:48 +00:00
2022-03-04 14:32:57 +00:00
2023-09-20 05:03:20 -07:00
2023-12-12 15:45:39 +01:00
2021-10-26 10:13:31 +01:00
2023-08-21 17:49:11 +01:00
2023-08-30 20:05:42 -07:00
2023-01-12 10:53:12 +01:00
2021-06-10 13:09:19 +01:00
2023-09-12 13:38:08 +01:00
2021-12-16 13:29:44 +00:00