diff options
author | gallatin <gallatin@FreeBSD.org> | 2006-11-29 15:30:39 +0000 |
---|---|---|
committer | gallatin <gallatin@FreeBSD.org> | 2006-11-29 15:30:39 +0000 |
commit | 45926e53d0a86af2776153b353c65aa3f9f6af08 (patch) | |
tree | 27bd66c9edfea0b6d880bfb826480ae0c648be35 /sys/dev/mxge | |
parent | cf4e18e619444dd7f4b9dde3ea1af1855e633c0a (diff) | |
download | FreeBSD-src-45926e53d0a86af2776153b353c65aa3f9f6af08.zip FreeBSD-src-45926e53d0a86af2776153b353c65aa3f9f6af08.tar.gz |
Fix mxge_submit_8rx() to behave like the comments says it does,
and ensure that it copies at most 32 bytes at a time.
Diffstat (limited to 'sys/dev/mxge')
-rw-r--r-- | sys/dev/mxge/if_mxge.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/mxge/if_mxge.c b/sys/dev/mxge/if_mxge.c index a50d6c5..4a274fd 100644 --- a/sys/dev/mxge/if_mxge.c +++ b/sys/dev/mxge/if_mxge.c @@ -1705,7 +1705,9 @@ mxge_submit_8rx(volatile mcp_kreq_ether_recv_t *dst, low = src->addr_low; src->addr_low = 0xffffffff; - mxge_pio_copy(dst, src, 8 * sizeof (*src)); + mxge_pio_copy(dst, src, 4 * sizeof (*src)); + mb(); + mxge_pio_copy(dst + 4, src + 4, 4 * sizeof (*src)); mb(); dst->addr_low = low; mb(); |