diff options
author | Linas Vepstas <linas@austin.ibm.com> | 2007-03-19 15:55:51 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-03-22 07:52:53 -0400 |
commit | 5794dbcbab862e416c4ea4f10fda5e67f5565fd7 (patch) | |
tree | 513c598771dbfd1a1654c706f847d46ae34c853f /arch/powerpc/platforms/pseries | |
parent | 90fdd6130f5c0053c48e8c8e247091739b6e4092 (diff) |
[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 d73c297b0234..5ec6edf19ece 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) | |||
158 | return; | 158 | return; |
159 | 159 | ||
160 | rc = driver->err_handler->slot_reset(dev); | 160 | rc = driver->err_handler->slot_reset(dev); |
161 | if (*res == PCI_ERS_RESULT_NONE) *res = rc; | 161 | if ((*res == PCI_ERS_RESULT_NONE) || |
162 | (*res == PCI_ERS_RESULT_RECOVERED)) *res = rc; | ||
162 | if (*res == PCI_ERS_RESULT_DISCONNECT && | 163 | if (*res == PCI_ERS_RESULT_DISCONNECT && |
163 | rc == PCI_ERS_RESULT_NEED_RESET) *res = rc; | 164 | rc == PCI_ERS_RESULT_NEED_RESET) *res = rc; |
164 | } | 165 | } |