summaryrefslogtreecommitdiff
path: root/kernel/zttranscode.c
diff options
context:
space:
mode:
authorsruffell <sruffell@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2008-12-04 23:09:28 +0000
committersruffell <sruffell@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2008-12-04 23:09:28 +0000
commit7b37d36938b44708e642dae2286826f6c3b5e8ac (patch)
treedf78681a3e795d87d0554a903030263065ba7935 /kernel/zttranscode.c
parentef7bbab6bcc4cef87bfa733964113262cc53b545 (diff)
Service the transmit descriptor ring before the receive descriptor ring so
that commands that are still sitting on the transmit descriptor ring are not completed twice. git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@4593 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'kernel/zttranscode.c')
-rw-r--r--kernel/zttranscode.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/kernel/zttranscode.c b/kernel/zttranscode.c
index 5462da8..70ba2e1 100644
--- a/kernel/zttranscode.c
+++ b/kernel/zttranscode.c
@@ -179,8 +179,7 @@ static int zt_tc_release(struct inode *inode, struct file *file)
/* Find a free channel on the transcoder and mark it busy. */
static inline struct zt_transcoder_channel *
-get_free_channel(struct zt_transcoder *tc)
-
+get_free_channel(struct zt_transcoder *tc, const struct zt_transcoder_formats *fmts)
{
struct zt_transcoder_channel *chan;
int i;
@@ -225,7 +224,7 @@ __find_free_channel(struct list_head *list, const struct zt_transcoder_formats *
/* We found a transcoder that can handle our formats.
* Now look for an available channel. */
match = 1;
- if ((chan = get_free_channel(tc))) {
+ if ((chan = get_free_channel(tc, fmts))) {
/* transcoder tc has a free channel. In order
* to spread the load among available
* transcoders (when there are more than one