Benjamin Herrenschmidt
7c0482e3d0
powerpc/irq: Fix another case of lazy IRQ state getting out of sync
...
So we have another case of paca->irq_happened getting out of
sync with the HW irq state. This can happen when a perfmon
interrupt occurs while soft disabled, as it will return to a
soft disabled but hard enabled context while leaving a stale
PACA_IRQ_HARD_DIS flag set.
This patch fixes it, and also adds a test for the condition
of those flags being out of sync in arch_local_irq_restore()
when CONFIG_TRACE_IRQFLAGS is enabled.
This helps catching those gremlins faster (and so far I
can't seem see any anymore, so that's good news).
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-05-12 09:40:41 +10:00
..
2012-03-28 18:30:02 +01:00
2012-03-28 14:35:31 -07:00
2011-10-31 19:30:44 -04:00
2011-12-21 14:29:42 -08:00
2011-10-31 19:30:44 -04:00
2011-11-25 14:11:28 +11:00
2012-03-28 18:30:02 +01:00
2011-12-20 10:20:19 -05:00
2012-03-28 18:30:02 +01:00
2012-03-09 13:25:06 +11:00
2012-03-28 16:36:33 +02:00
2012-03-28 16:36:33 +02:00
2012-03-28 16:36:33 +02:00
2012-04-10 17:21:35 +10:00
2012-05-12 09:40:41 +10:00
2012-03-09 13:25:06 +11:00
2012-05-09 09:42:33 +10:00
2012-04-02 14:00:03 +10:00
2011-10-31 19:30:41 -04:00
2012-03-09 10:55:08 +11:00
2012-03-09 10:55:08 +11:00
2012-03-09 10:55:08 +11:00
2011-12-20 10:21:57 -05:00
2012-03-09 13:25:06 +11:00
2012-03-09 10:55:08 +11:00
2012-03-09 10:55:08 +11:00
2011-10-31 19:30:44 -04:00
2012-04-04 17:13:43 -07:00
2012-03-09 13:25:06 +11:00
2011-10-11 23:23:24 -05:00
2012-03-16 09:28:17 +11:00
2012-03-09 13:25:06 +11:00
2012-03-28 18:30:02 +01:00
2011-10-31 19:30:44 -04:00
2011-10-31 19:30:37 -04:00
2011-10-31 19:30:44 -04:00
2011-11-28 21:13:18 +02:00
2012-02-23 10:50:01 +11:00
2012-05-12 09:40:41 +10:00
2012-03-21 11:16:11 +11:00
2011-11-16 14:25:19 +11:00
2012-04-02 14:00:03 +10:00
2012-03-28 18:30:02 +01:00
2012-03-05 14:52:34 +02:00
2012-03-05 14:52:34 +02:00
2012-01-25 13:33:22 +11:00
2012-03-28 18:30:02 +01:00
2012-01-12 20:13:03 -08:00
2012-01-12 20:13:03 -08:00
2012-04-30 10:45:26 +10:00
2012-02-23 10:50:04 +11:00
2011-11-16 14:47:54 +11:00
2012-03-09 10:54:59 +11:00
2011-10-31 19:30:44 -04:00
2012-03-09 11:39:29 +11:00
2012-03-21 11:16:11 +11:00
2012-03-20 10:41:44 -07:00
2012-03-20 10:41:44 -07:00
2011-11-25 14:53:15 +11:00
2012-03-20 10:41:51 -07:00
2012-03-23 14:02:12 -07:00
2012-02-29 17:15:08 -05:00
2012-03-28 18:30:02 +01:00
2012-04-11 10:42:15 +10:00
2012-03-28 15:58:21 -07:00
2011-10-31 19:30:44 -04:00
2012-03-28 18:30:02 +01:00
2012-03-28 18:30:02 +01:00
2012-03-28 18:30:02 +01:00
2011-12-20 10:21:08 -05:00
2011-11-25 14:11:29 +11:00
2012-03-23 14:02:12 -07:00
2012-03-28 15:58:21 -07:00
2011-11-25 14:11:29 +11:00
2012-04-19 14:55:43 -05:00
2012-03-28 15:58:21 -07:00
2012-03-28 18:30:02 +01:00
2012-03-28 18:30:02 +01:00
2012-03-28 18:30:02 +01:00
2012-03-28 18:30:02 +01:00
2012-02-22 16:48:53 +11:00
2012-03-28 18:30:02 +01:00
2012-03-28 18:30:02 +01:00
2011-10-31 19:30:44 -04:00
2012-03-28 18:30:02 +01:00
2012-03-28 18:30:02 +01:00
2012-03-28 18:30:02 +01:00
2012-03-28 18:30:02 +01:00
2012-03-21 11:16:11 +11:00
2012-05-09 09:42:33 +10:00
2012-03-28 11:33:23 +11:00
2012-03-28 15:58:21 -07:00
2012-04-04 17:13:43 -07:00
2012-03-09 10:54:59 +11:00