diff options
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r-- | arch/powerpc/platforms/pseries/eeh_driver.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/powerpc/platforms/pseries/eeh_driver.c b/arch/powerpc/platforms/pseries/eeh_driver.c index 6e631b5a28f0..57e025e84ab4 100644 --- a/arch/powerpc/platforms/pseries/eeh_driver.c +++ b/arch/powerpc/platforms/pseries/eeh_driver.c | |||
@@ -105,9 +105,10 @@ static void eeh_report_error(struct pci_dev *dev, void *userdata) | |||
105 | return; | 105 | return; |
106 | 106 | ||
107 | rc = driver->err_handler->error_detected (dev, pci_channel_io_frozen); | 107 | rc = driver->err_handler->error_detected (dev, pci_channel_io_frozen); |
108 | |||
109 | /* A driver that needs a reset trumps all others */ | ||
110 | if (rc == PCI_ERS_RESULT_NEED_RESET) *res = rc; | ||
108 | if (*res == PCI_ERS_RESULT_NONE) *res = rc; | 111 | if (*res == PCI_ERS_RESULT_NONE) *res = rc; |
109 | if (*res == PCI_ERS_RESULT_DISCONNECT && | ||
110 | rc == PCI_ERS_RESULT_NEED_RESET) *res = rc; | ||
111 | } | 112 | } |
112 | 113 | ||
113 | /** | 114 | /** |
@@ -129,9 +130,10 @@ static void eeh_report_mmio_enabled(struct pci_dev *dev, void *userdata) | |||
129 | return; | 130 | return; |
130 | 131 | ||
131 | rc = driver->err_handler->mmio_enabled (dev); | 132 | rc = driver->err_handler->mmio_enabled (dev); |
133 | |||
134 | /* A driver that needs a reset trumps all others */ | ||
135 | if (rc == PCI_ERS_RESULT_NEED_RESET) *res = rc; | ||
132 | if (*res == PCI_ERS_RESULT_NONE) *res = rc; | 136 | if (*res == PCI_ERS_RESULT_NONE) *res = rc; |
133 | if (*res == PCI_ERS_RESULT_DISCONNECT && | ||
134 | rc == PCI_ERS_RESULT_NEED_RESET) *res = rc; | ||
135 | } | 137 | } |
136 | 138 | ||
137 | /** | 139 | /** |