Sam Bobroff
d4f194ed9e
powerpc/eeh: Fix deadlock handling dead PHB
...
Recovering a dead PHB can currently cause a deadlock as the PCI
rescan/remove lock is taken twice.
This is caused as part of an existing bug in
eeh_handle_special_event(). The pe is processed while traversing the
PHBs even though the pe is unrelated to the loop. This causes the pe
to be, incorrectly, processed more than once.
Untangling this section can move the pe processing out of the loop and
also outside the locked section, correcting both problems.
Fixes: 2e25505147b8 ("powerpc/eeh: Fix crash when edev->pdev changes")
Cc: stable@vger.kernel.org # 5.4+
Signed-off-by: Sam Bobroff <sbobroff@linux.ibm.com>
Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com>
Tested-by: Frederic Barrat <fbarrat@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/0547e82dbf90ee0729a2979a8cac5c91665c621f.1581051445.git.sbobroff@linux.ibm.com
2020-02-17 12:47:05 +11:00
..
2020-01-29 19:38:34 -08:00
2019-09-18 12:24:55 +10:00
2020-01-23 21:31:16 +11:00
2019-12-05 00:13:55 +11:00
2019-09-14 00:04:41 +10:00
2019-07-31 00:19:34 +10:00
2020-01-26 22:15:09 +11:00
2017-11-02 11:10:55 +01:00
2018-11-26 22:33:37 +11:00
2019-07-13 16:08:36 -07:00
2019-06-15 16:52:06 +10:00
2017-11-02 11:10:55 +01:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-11-17 01:56:31 -06:00
2019-06-05 17:37:06 +02:00
2019-09-21 08:36:53 +10:00
2019-05-30 11:26:32 -07:00
2019-08-28 23:19:33 +10:00
2019-06-19 17:09:06 +02:00
2019-11-13 16:58:03 +11:00
2019-09-24 12:46:26 +10:00
2019-09-20 11:48:06 -07:00
2019-02-18 22:41:03 +11:00
2019-05-30 11:26:32 -07:00
2020-01-26 00:11:37 +11:00
2019-11-13 19:27:40 +11:00
2020-01-23 21:31:18 +11:00
2019-08-22 23:12:46 +10:00
2020-02-17 12:47:05 +11:00
2019-09-14 00:01:14 +10:00
2019-09-05 14:22:37 +10:00
2020-01-23 21:31:19 +11:00
2020-01-23 21:31:20 +11:00
2020-02-08 21:49:06 +11:00
2020-02-04 13:06:46 +00:00
2019-05-30 11:26:32 -07:00
2019-06-05 17:30:28 +02:00
2019-11-13 19:27:24 +11:00
2020-01-29 21:30:50 +11:00
2019-11-13 16:58:11 +11:00
2019-05-30 11:26:32 -07:00
2020-01-27 22:37:24 +11:00
2019-11-13 19:27:40 +11:00
2020-01-27 22:36:59 +11:00
2020-01-27 22:37:24 +11:00
2020-01-27 22:37:24 +11:00
2020-01-26 22:15:09 +11:00
2019-05-30 11:26:32 -07:00
2019-08-28 11:31:18 +10:00
2020-01-26 22:15:09 +11:00
2020-01-26 22:15:09 +11:00
2020-01-23 21:31:14 +11:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2020-01-16 14:59:37 +10:00
2019-05-30 11:26:32 -07:00
2020-01-16 14:59:37 +10:00
2019-11-12 12:25:50 +11:00
2019-08-27 13:03:34 +10:00
2019-05-30 11:26:32 -07:00
2018-04-05 14:59:26 +10:00
2019-08-30 09:52:57 +10:00
2020-01-27 22:36:15 +11:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-02-23 22:31:40 +11:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:35 -07:00
2019-09-14 00:04:40 +10:00
2019-09-14 00:04:40 +10:00
2019-05-24 17:36:45 +02:00
2019-12-18 15:04:42 +01:00
2020-01-16 14:59:37 +10:00
2019-09-19 21:24:59 +10:00
2019-08-30 10:32:35 +10:00
2019-11-21 15:41:34 +11:00
2019-11-14 19:23:33 +11:00
2019-05-30 11:26:32 -07:00
2019-07-13 16:08:36 -07:00
2019-07-13 16:08:36 -07:00
2019-05-30 11:26:35 -07:00
2017-12-11 13:03:35 +11:00
2019-05-30 11:26:32 -07:00
2019-08-30 09:40:15 +10:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-08-30 09:55:40 +10:00
2019-08-22 23:11:48 +10:00
2019-08-22 23:11:48 +10:00
2020-01-23 21:31:19 +11:00
2020-01-06 16:25:29 +11:00
2020-01-23 21:31:21 +11:00
2020-01-06 16:25:29 +11:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2020-02-04 03:05:26 +00:00
2020-01-26 00:11:35 +11:00
2019-10-29 15:12:17 +11:00
2019-11-13 16:58:00 +11:00
2017-11-02 11:10:55 +01:00
2019-09-14 00:04:45 +10:00
2016-12-24 11:46:01 -08:00
2019-11-13 16:58:03 +11:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2020-02-04 03:05:26 +00:00
2019-05-30 11:26:35 -07:00
2020-02-04 03:05:26 +00:00
2018-06-03 20:43:33 +10:00
2019-08-20 21:22:27 +10:00
2020-02-04 03:05:26 +00:00
2019-11-12 12:25:49 +11:00
2019-11-30 14:35:43 -08:00
2019-11-13 00:33:22 +11:00
2019-11-13 00:33:22 +11:00
2020-01-27 22:36:15 +11:00
2020-01-26 22:15:09 +11:00
2020-01-14 15:29:17 +01:00
2020-01-27 22:35:49 +11:00
2019-07-22 13:05:23 +10:00
2019-07-22 13:05:23 +10:00
2019-01-03 18:57:57 -08:00
2018-05-10 23:25:13 +10:00
2017-11-02 11:10:55 +01:00
2019-05-30 11:26:32 -07:00
2019-09-18 12:24:55 +10:00
2019-06-14 10:48:56 +02:00
2019-06-19 20:05:07 +10:00
2019-06-19 17:11:22 +02:00
2019-06-19 17:11:22 +02:00
2017-11-02 11:10:55 +01:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-11-15 14:38:29 +01:00
2019-08-30 09:55:41 +10:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2018-05-25 12:04:44 +10:00
2019-12-05 00:13:55 +11:00
2019-07-02 21:39:49 +10:00
2020-01-27 22:35:49 +11:00
2019-08-30 09:40:15 +10:00
2019-05-30 11:26:32 -07:00
2019-10-11 19:33:25 +11:00
2019-05-30 11:26:35 -07:00
2020-01-23 21:31:15 +11:00
2018-05-25 12:04:46 +10:00
2020-01-27 22:37:24 +11:00
2020-01-26 22:15:09 +11:00
2019-04-30 11:31:02 +10:00