diff options
author | Gavin Shan <shangw@linux.vnet.ibm.com> | 2012-02-27 20:03:58 +0000 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-03-09 11:10:39 +1100 |
commit | b0e5f742f1816bebedabeb6844be1a598bd50a91 (patch) | |
tree | 16872bc2b9a96f45ea3d409b72b42bf31d5b28a8 /arch/powerpc/platforms/pseries/eeh_driver.c | |
parent | eb594a4754e71e41c048e0f1559bb6f13dab7070 (diff) | |
download | linux-b0e5f742f1816bebedabeb6844be1a598bd50a91.tar.gz linux-b0e5f742f1816bebedabeb6844be1a598bd50a91.tar.bz2 linux-b0e5f742f1816bebedabeb6844be1a598bd50a91.zip |
powerpc/eeh: pseries platform EEH wait PE state
On pSeries platform, the PE state might be temporarily unavailable.
In that case, the firmware will return the corresponding wait time.
That means the kernel has to wait for appropriate time in order to
get the PE state.
The patch does the implementation for that. Besides, the function
has been abstracted through struct eeh_ops::wait_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 4c6e0c1cb1dd..584defe14930 100644 --- a/arch/powerpc/platforms/pseries/eeh_driver.c +++ b/arch/powerpc/platforms/pseries/eeh_driver.c @@ -396,7 +396,7 @@ struct pci_dn * handle_eeh_events (struct eeh_event *event) /* Get the current PCI slot state. This can take a long time, * sometimes over 3 seconds for certain systems. */ - rc = eeh_wait_for_slot_status (frozen_pdn, MAX_WAIT_FOR_RECOVERY*1000); + rc = eeh_ops->wait_state(frozen_pdn->node, MAX_WAIT_FOR_RECOVERY*1000); if (rc < 0 || rc == EEH_STATE_NOT_SUPPORT) { printk(KERN_WARNING "EEH: Permanent failure\n"); goto hard_fail; |