summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2010-03-22 09:20:59 +0000
committerShaun Ruffell <sruffell@digium.com>2010-03-22 09:20:59 +0000
commit50eaaa0d038aa6cc5e6d30c0547cafad13a390e7 (patch)
treed84e772902fa48fe628ef5d55542dbc2ec0bf268 /README
parentd010a28168a6883ef74e1f7c55c6576cf19bba4f (diff)
wctdm24xxp, wcte12xp: Fix several problems with buffer processing.
* If the receive packet isn't the correct size, we can't just drop it, we have to resubmit it to the receive queue immediately so it will get cleaned up properly. * It isn't safe to leave the buffers on any lists while calling the function to resubmit it to the descriptor ring, since it may be freed which potentially results in a corrupted list. * If the card is held up in a state where it is waiting for receive data, there is a chance that when the transmit process is started up again it could DMA data into a buffer that has already been freed. By using our own freelist, there isn't a chance that the board will DMA data into memory that has been recycled for another purpose. * Disable the tasklet when processing hard underruns in order to not corrupt the descriptor rings. * Make sure voicebus_stop and voicebus_release aren't running at the same time as the hard underrun handler. This too can result in corrupted descriptor lists. DAHDI-560. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8379 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'README')
0 files changed, 0 insertions, 0 deletions