summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAndrew Gallatin <gallatin@FreeBSD.org>2000-07-19 14:36:36 +0000
committerAndrew Gallatin <gallatin@FreeBSD.org>2000-07-19 14:36:36 +0000
commitb4a03676c0b40a869c4765b5f084662e843c06cf (patch)
tree7e6982dbd7665d4e6b1b12a858881ff17643a645 /sys
parent63a98898028524155851317448d18579234ad4f4 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/pci/if_fxp.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/pci/if_fxp.c b/sys/pci/if_fxp.c
index 408ec5de2adf..e86abadb582e 100644
--- a/sys/pci/if_fxp.c
+++ b/sys/pci/if_fxp.c
@@ -1053,7 +1053,19 @@ tbdinit:
/*
* Advance the end of list forward.
*/
+
+#ifdef __alpha__
+ /*
+ * On platforms which can't access memory in 16-bit
+ * granularities, we must prevent the card from DMA'ing
+ * up the status while we update the command field.
+ * This could cause us to overwrite the completion status.
+ */
+ atomic_clear_short(&sc->cbl_last->cb_command,
+ FXP_CB_COMMAND_S);
+#else
sc->cbl_last->cb_command &= ~FXP_CB_COMMAND_S;
+#endif /*__alpha__*/
sc->cbl_last = txp;
/*