diff options
author | Gavin Shan <shangw@linux.vnet.ibm.com> | 2012-02-27 15:03:57 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-03-08 19:10:26 -0500 |
commit | eb594a4754e71e41c048e0f1559bb6f13dab7070 (patch) | |
tree | e2e186325de762bfae5af77da8cf9ac6e8f1cdc3 /arch/powerpc/platforms/pseries/eeh_driver.c | |
parent | c8c29b38fbb9448f2a25484348dd5aec9a2a9671 (diff) |
powerpc/eeh: pseries platform PE state retrieval
On pSeries platform, there're 2 dedicated RTAS calls introduced to
retrieve the corresponding PE's state: ibm,read-slot-reset-state and
ibm,read-slot-reset-state2.
The patch implements the retrieval of PE's state according to the
given PE address. Besides, the implementation has been abstracted by
struct eeh_ops::get_state so that EEH core components could support
multiple platforms in future.
Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/platforms/pseries/eeh_driver.c')
-rw-r--r-- | arch/powerpc/platforms/pseries/eeh_driver.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/pseries/eeh_driver.c b/arch/powerpc/platforms/pseries/eeh_driver.c index 02eab3baf963..4c6e0c1cb1dd 100644 --- a/arch/powerpc/platforms/pseries/eeh_driver.c +++ b/arch/powerpc/platforms/pseries/eeh_driver.c | |||
@@ -397,7 +397,7 @@ struct pci_dn * handle_eeh_events (struct eeh_event *event) | |||
397 | /* Get the current PCI slot state. This can take a long time, | 397 | /* Get the current PCI slot state. This can take a long time, |
398 | * sometimes over 3 seconds for certain systems. */ | 398 | * sometimes over 3 seconds for certain systems. */ |
399 | rc = eeh_wait_for_slot_status (frozen_pdn, MAX_WAIT_FOR_RECOVERY*1000); | 399 | rc = eeh_wait_for_slot_status (frozen_pdn, MAX_WAIT_FOR_RECOVERY*1000); |
400 | if (rc < 0) { | 400 | if (rc < 0 || rc == EEH_STATE_NOT_SUPPORT) { |
401 | printk(KERN_WARNING "EEH: Permanent failure\n"); | 401 | printk(KERN_WARNING "EEH: Permanent failure\n"); |
402 | goto hard_fail; | 402 | goto hard_fail; |
403 | } | 403 | } |