diff options
-rw-r--r-- | drivers/dahdi/dahdi_transcode.c | 2 | ||||
-rw-r--r-- | drivers/dahdi/wctc4xxp/base.c | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/drivers/dahdi/dahdi_transcode.c b/drivers/dahdi/dahdi_transcode.c index 92120a3..9ce07c9 100644 --- a/drivers/dahdi/dahdi_transcode.c +++ b/drivers/dahdi/dahdi_transcode.c @@ -212,7 +212,7 @@ __find_free_channel(struct list_head *list, const struct dahdi_transcoder_format unsigned int match = 0; list_for_each_entry(tc, list, node) { - if ((tc->dstfmts & fmts->dstfmt)) { + if ((tc->dstfmts & fmts->dstfmt) && (tc->srcfmts & fmts->srcfmt)) { /* We found a transcoder that can handle our formats. * Now look for an available channel. */ match = 1; diff --git a/drivers/dahdi/wctc4xxp/base.c b/drivers/dahdi/wctc4xxp/base.c index 634568f..86f9d12 100644 --- a/drivers/dahdi/wctc4xxp/base.c +++ b/drivers/dahdi/wctc4xxp/base.c @@ -2846,6 +2846,7 @@ wctc4xxp_watchdog(unsigned long data) /* Move this to the local list because we're * going to resend it once we free the locks */ list_move_tail(&cmd->node, &cmds_to_retry); + cmd->flags &= ~(TX_COMPLETE); } else { /* The command is still sitting on the tx * descriptor ring. We don't want to move it |