diff options
author | silby <silby@FreeBSD.org> | 2006-05-28 18:41:47 +0000 |
---|---|---|
committer | silby <silby@FreeBSD.org> | 2006-05-28 18:41:47 +0000 |
commit | a83bbac451d755b1bbb0fe94982e811b2e87c59f (patch) | |
tree | ebc140b4c0106881535771b2d545870c3d29f525 /usr.sbin/chown | |
parent | 0daaa33f18003993aa6051fcc24b2bfff9abd912 (diff) | |
download | FreeBSD-src-a83bbac451d755b1bbb0fe94982e811b2e87c59f.zip FreeBSD-src-a83bbac451d755b1bbb0fe94982e811b2e87c59f.tar.gz |
1. Make sure that the TX and RX descriptor rings are 4096 byte aligned.
Also use BUS_DMA_ALLOCNOW to be on the safe side.
2. Look for the Descriptor Error, and Descriptor Protocol Error flags from
the card, and down the interface if we detect either.
#1 (along with fixes to busdma) makes sure that this card works in all
memory situations. Prior to this change, it was just luck that 512 count
RX/TX lists were properly aligned. Now we can use any size of RX/TX lists
and still have them properly aligned.
#2 ensures that we don't get into an endless interrupt storm if busdma fails
us. Descriptor Protocol Error would occur if we misaligned the TX/RX rings,
and Descriptor Error would occur if we tried to give the card descriptors
or rings with addresses > 1G. Trying to reinitialize the card isn't going
to fix these errors, hence we don't try.
Diffstat (limited to 'usr.sbin/chown')
0 files changed, 0 insertions, 0 deletions