summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2012-02-25 17:08:50 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2012-02-25 17:08:50 +0000
commit5d41405ad25dd23a7d7ef425b4ae5f4cd67dee11 (patch)
treeb1c8795252c9288e0051c87006072322a57ec93b /sys
parent009f1cb9a8b627c0d75023aa1099ab7c84f96188 (diff)
Fix a bad case of htole64() being used instead of htole32() when setting up
pci configuration space accesses to allow proper recovery from failure, causing the measure not to have any effect and the system to freeze hard. Fixes use of pcidump -x on B1000, and probably more systems.
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/hppa/dev/elroy.c6
-rw-r--r--sys/arch/hppa64/dev/elroy.c6
2 files changed, 6 insertions, 6 deletions
diff --git a/sys/arch/hppa/dev/elroy.c b/sys/arch/hppa/dev/elroy.c
index c9cd43fafb3..d7ff4bc9859 100644
--- a/sys/arch/hppa/dev/elroy.c
+++ b/sys/arch/hppa/dev/elroy.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: elroy.c,v 1.10 2011/09/19 11:14:20 miod Exp $ */
+/* $OpenBSD: elroy.c,v 1.11 2012/02/25 17:08:49 miod Exp $ */
/*
* Copyright (c) 2005 Michael Shalayeff
@@ -260,7 +260,7 @@ elroy_conf_read(void *v, pcitag_t tag, int reg)
err_cfg = elroy_read32(&r->err_cfg);
control = elroy_read32(&r->control);
if (!arb_mask)
- elroy_write32(&r->arb_mask, htole64(ELROY_ARB_ENABLE));
+ elroy_write32(&r->arb_mask, htole32(ELROY_ARB_ENABLE));
elroy_write32(&r->err_cfg, err_cfg |
htole32(ELROY_ERRCFG_SMART | ELROY_ERRCFG_CM));
elroy_write32(&r->control, (control | htole32(ELROY_CONTROL_CE)) &
@@ -295,7 +295,7 @@ elroy_conf_write(void *v, pcitag_t tag, int reg, pcireg_t data)
err_cfg = elroy_read32(&r->err_cfg);
control = elroy_read32(&r->control);
if (!arb_mask)
- elroy_write32(&r->arb_mask, htole64(ELROY_ARB_ENABLE));
+ elroy_write32(&r->arb_mask, htole32(ELROY_ARB_ENABLE));
elroy_write32(&r->err_cfg, err_cfg |
htole32(ELROY_ERRCFG_SMART | ELROY_ERRCFG_CM));
elroy_write32(&r->control, (control | htole32(ELROY_CONTROL_CE)) &
diff --git a/sys/arch/hppa64/dev/elroy.c b/sys/arch/hppa64/dev/elroy.c
index a3b794c4421..2b9c6e39bcb 100644
--- a/sys/arch/hppa64/dev/elroy.c
+++ b/sys/arch/hppa64/dev/elroy.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: elroy.c,v 1.12 2011/09/19 11:14:20 miod Exp $ */
+/* $OpenBSD: elroy.c,v 1.13 2012/02/25 17:08:49 miod Exp $ */
/*
* Copyright (c) 2005 Michael Shalayeff
@@ -260,7 +260,7 @@ elroy_conf_read(void *v, pcitag_t tag, int reg)
err_cfg = elroy_read32(&r->err_cfg);
control = elroy_read32(&r->control);
if (!arb_mask)
- elroy_write32(&r->arb_mask, htole64(ELROY_ARB_ENABLE));
+ elroy_write32(&r->arb_mask, htole32(ELROY_ARB_ENABLE));
elroy_write32(&r->err_cfg, err_cfg |
htole32(ELROY_ERRCFG_SMART | ELROY_ERRCFG_CM));
elroy_write32(&r->control, (control | htole32(ELROY_CONTROL_CE)) &
@@ -295,7 +295,7 @@ elroy_conf_write(void *v, pcitag_t tag, int reg, pcireg_t data)
err_cfg = elroy_read32(&r->err_cfg);
control = elroy_read32(&r->control);
if (!arb_mask)
- elroy_write32(&r->arb_mask, htole64(ELROY_ARB_ENABLE));
+ elroy_write32(&r->arb_mask, htole32(ELROY_ARB_ENABLE));
elroy_write32(&r->err_cfg, err_cfg |
htole32(ELROY_ERRCFG_SMART | ELROY_ERRCFG_CM));
elroy_write32(&r->control, (control | htole32(ELROY_CONTROL_CE)) &