summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorkrishnae <none@none>2007-04-18 18:48:41 -0700
committerkrishnae <none@none>2007-04-18 18:48:41 -0700
commit6aa97eab2823b74d2b294de748ded1e1e7607cb0 (patch)
tree45f8c842de18224d7dff3aca0eb7ee4c5776aa40 /usr/src
parent91e1058474884b4b6f1d3665a96ddeb9a30cd489 (diff)
downloadillumos-gate-6aa97eab2823b74d2b294de748ded1e1e7607cb0.tar.gz
6546644 px does not panic on fatal fabric errors
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/io/pcie_fault.c2
-rw-r--r--usr/src/uts/sun4/io/px/px_fm.c3
2 files changed, 3 insertions, 2 deletions
diff --git a/usr/src/uts/common/io/pcie_fault.c b/usr/src/uts/common/io/pcie_fault.c
index 13c26c0b2b..80e33c39de 100644
--- a/usr/src/uts/common/io/pcie_fault.c
+++ b/usr/src/uts/common/io/pcie_fault.c
@@ -1461,7 +1461,7 @@ pf_analyse_error(dev_info_t *rpdip, ddi_fm_error_t *derr, pf_data_t *dq_p,
break;
case PCIE_PCIECAP_DEV_TYPE_ROOT:
/* Do not analyse RC info as it has already been done */
- pfd_err |= PF_MATCHED_RC;
+ pfd_err |= PF_NO_ERROR;
break;
case PCIE_PCIECAP_DEV_TYPE_PCIE2PCI:
if (PCIE_DEVSTS_CE_DETECTED & pf_data_p->dev_status)
diff --git a/usr/src/uts/sun4/io/px/px_fm.c b/usr/src/uts/sun4/io/px/px_fm.c
index d073e0f25b..bf4288b46c 100644
--- a/usr/src/uts/sun4/io/px/px_fm.c
+++ b/usr/src/uts/sun4/io/px/px_fm.c
@@ -670,8 +670,9 @@ px_err_panic(int err, int msg, int fab_err)
fabric:
if (fab_err & PF_PANIC)
ferr = PX_PANIC;
- if (fab_err & ~(PF_PANIC | PF_NO_ERROR))
+ else if (fab_err & ~(PF_PANIC | PF_NO_ERROR))
ferr = PX_NO_PANIC;
+
if (ferr & px_die) {
if (strlen(fm_msg))
(void) strncat(fm_msg, " and", MSZ);