diff options
author | adrian <adrian@FreeBSD.org> | 2013-05-10 10:06:45 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2013-05-10 10:06:45 +0000 |
commit | 4d334b94a501aa2decee54a72c4cb04f2f8c0a2b (patch) | |
tree | 2c968a1e648997097ec0de74ead473137884e107 /contrib/gcclibs/libcpp/files.c | |
parent | 080f111dcbace394f7e22ba2d07553092dab6bad (diff) | |
download | FreeBSD-src-4d334b94a501aa2decee54a72c4cb04f2f8c0a2b.zip FreeBSD-src-4d334b94a501aa2decee54a72c4cb04f2f8c0a2b.tar.gz |
Make sure the holding descriptor and link pointer are both freed during
a non-loss reset.
When the drain functions are called, the holding descriptor and link pointers
are NULLed out.
But when the processq function is called during a non-loss reset, this
doesn't occur. So the next time a DMA occurs, it's chained to a descriptor
that no longer exists and the hardware gets angry.
Tested:
* AR5416, STA mode; use sysctl dev.ath.X.forcebstuck=1 to force a non-loss
reset.
TODO:
* Further AR9380 testing just to check that the behaviour for the EDMA
chips is sane.
PR: kern/178477
Diffstat (limited to 'contrib/gcclibs/libcpp/files.c')
0 files changed, 0 insertions, 0 deletions