diff options
author | Linas Vepstas <linas@austin.ibm.com> | 2007-03-19 14:55:51 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-03-22 22:52:53 +1100 |
commit | 5794dbcbab862e416c4ea4f10fda5e67f5565fd7 (patch) | |
tree | 513c598771dbfd1a1654c706f847d46ae34c853f /arch/powerpc/platforms/pseries | |
parent | 90fdd6130f5c0053c48e8c8e247091739b6e4092 (diff) | |
download | op-kernel-dev-5794dbcbab862e416c4ea4f10fda5e67f5565fd7.zip op-kernel-dev-5794dbcbab862e416c4ea4f10fda5e67f5565fd7.tar.gz |
[POWERPC] EEH: multifunction recovery bugfix
If the second or higher function of a multi-function device fails
to recover, this failure is not reported upwards. Fix this.
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/pseries')
-rw-r--r-- | arch/powerpc/platforms/pseries/eeh_driver.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/pseries/eeh_driver.c b/arch/powerpc/platforms/pseries/eeh_driver.c index d73c297..5ec6edf 100644 --- a/arch/powerpc/platforms/pseries/eeh_driver.c +++ b/arch/powerpc/platforms/pseries/eeh_driver.c @@ -158,7 +158,8 @@ static void eeh_report_reset(struct pci_dev *dev, void *userdata) return; rc = driver->err_handler->slot_reset(dev); - if (*res == PCI_ERS_RESULT_NONE) *res = rc; + if ((*res == PCI_ERS_RESULT_NONE) || + (*res == PCI_ERS_RESULT_RECOVERED)) *res = rc; if (*res == PCI_ERS_RESULT_DISCONNECT && rc == PCI_ERS_RESULT_NEED_RESET) *res = rc; } |