diff options
author | Linas Vepstas <linas@austin.ibm.com> | 2007-03-19 14:59:59 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-03-22 22:52:56 +1100 |
commit | fa1be476a2baa0961f63161caee6733cdc353adb (patch) | |
tree | d847ecf51c128069049d35ed126c9beda4d879a7 /arch/powerpc/platforms/pseries/eeh.c | |
parent | d0ab95ca9854174029cef2f08acf1859441cb547 (diff) |
[POWERPC] EEH: verify state change
After requesting a state change, verify that the state change
actually ocurred, and the system ends up in the expected state.
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/pseries/eeh.c')
-rw-r--r-- | arch/powerpc/platforms/pseries/eeh.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/pseries/eeh.c b/arch/powerpc/platforms/pseries/eeh.c index 1d05c9b5560..eac2a631c5a 100644 --- a/arch/powerpc/platforms/pseries/eeh.c +++ b/arch/powerpc/platforms/pseries/eeh.c @@ -527,9 +527,13 @@ rtas_pci_enable(struct pci_dn *pdn, int function) function); if (rc) - printk(KERN_WARNING "EEH: Cannot enable function %d, err=%d dn=%s\n", + printk(KERN_WARNING "EEH: Unexpected state change %d, err=%d dn=%s\n", function, rc, pdn->node->full_name); + rc = eeh_wait_for_slot_status (pdn, PCI_BUS_RESET_WAIT_MSEC); + if ((rc == 4) && (function == EEH_THAW_MMIO)) + return 0; + return rc; } |