diff options
| author | Andrew Gallatin <gallatin@FreeBSD.org> | 2000-07-19 14:36:36 +0000 |
|---|---|---|
| committer | Andrew Gallatin <gallatin@FreeBSD.org> | 2000-07-19 14:36:36 +0000 |
| commit | b4a03676c0b40a869c4765b5f084662e843c06cf (patch) | |
| tree | 7e6982dbd7665d4e6b1b12a858881ff17643a645 /sys | |
| parent | 63a98898028524155851317448d18579234ad4f4 (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/pci/if_fxp.c | 12 |
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; /* |
