Commit 90375f53 authored by Linas Vepstas's avatar Linas Vepstas Committed by Paul Mackerras

[POWERPC] EEH: handle reset state high

Some firmware versions will return a slot reset state of "1"
when a slot is EEH frozen. Recognize this as a state that can be
handled.
Signed-off-by: default avatarLinas Vepstas <linas@austin.ibm.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 5794dbcb
...@@ -386,7 +386,7 @@ int eeh_dn_check_failure(struct device_node *dn, struct pci_dev *dev) ...@@ -386,7 +386,7 @@ int eeh_dn_check_failure(struct device_node *dn, struct pci_dev *dev)
} }
/* If not the kind of error we know about, punt. */ /* If not the kind of error we know about, punt. */
if (rets[0] != 2 && rets[0] != 4 && rets[0] != 5) { if (rets[0] != 1 && rets[0] != 2 && rets[0] != 4 && rets[0] != 5) {
false_positives++; false_positives++;
rc = 0; rc = 0;
goto dn_unlock; goto dn_unlock;
...@@ -401,7 +401,7 @@ int eeh_dn_check_failure(struct device_node *dn, struct pci_dev *dev) ...@@ -401,7 +401,7 @@ int eeh_dn_check_failure(struct device_node *dn, struct pci_dev *dev)
spin_unlock_irqrestore(&confirm_error_lock, flags); spin_unlock_irqrestore(&confirm_error_lock, flags);
state = pci_channel_io_normal; state = pci_channel_io_normal;
if ((rets[0] == 2) || (rets[0] == 4)) if ((rets[0] == 1) || (rets[0] == 2) || (rets[0] == 4))
state = pci_channel_io_frozen; state = pci_channel_io_frozen;
if (rets[0] == 5) if (rets[0] == 5)
state = pci_channel_io_perm_failure; state = pci_channel_io_perm_failure;
...@@ -410,7 +410,7 @@ int eeh_dn_check_failure(struct device_node *dn, struct pci_dev *dev) ...@@ -410,7 +410,7 @@ int eeh_dn_check_failure(struct device_node *dn, struct pci_dev *dev)
/* Most EEH events are due to device driver bugs. Having /* Most EEH events are due to device driver bugs. Having
* a stack trace will help the device-driver authors figure * a stack trace will help the device-driver authors figure
* out what happened. So print that out. */ * out what happened. So print that out. */
if (rets[0] != 5) dump_stack(); dump_stack();
return 1; return 1;
dn_unlock: dn_unlock:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment