diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2012-04-23 22:51:50 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-26 03:10:45 -0400 |
commit | 52a637c2a5d96f12eadb17e03da9b3405cd58acf (patch) | |
tree | 4d1dac9b55208868cd2de09e6d6e2b9f0689499d /drivers/isdn/mISDN | |
parent | 74fa9e5dff617e2e1e7688969f3492a6080bb6e1 (diff) |
mISDN: Fixed hardware bridging/conference check routine of mISDN_dsp.ko.
In some cases the hardware bridging/conference (2-n parties) was selected,
but still pure software bridging/conference was used.
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
Signed-off-by: Karsten Keil <keil@b1-systems.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/isdn/mISDN')
-rw-r--r-- | drivers/isdn/mISDN/dsp_cmx.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/drivers/isdn/mISDN/dsp_cmx.c b/drivers/isdn/mISDN/dsp_cmx.c index b7589c2eecf5..0c104b976835 100644 --- a/drivers/isdn/mISDN/dsp_cmx.c +++ b/drivers/isdn/mISDN/dsp_cmx.c | |||
@@ -742,8 +742,8 @@ dsp_cmx_hardware(struct dsp_conf *conf, struct dsp *dsp) | |||
742 | member->dsp->pcm_slot_tx, | 742 | member->dsp->pcm_slot_tx, |
743 | member->dsp->pcm_bank_tx, | 743 | member->dsp->pcm_bank_tx, |
744 | member->dsp->pcm_bank_rx); | 744 | member->dsp->pcm_bank_rx); |
745 | conf->hardware = 0; | 745 | conf->hardware = 1; |
746 | conf->software = 1; | 746 | conf->software = tx_data; |
747 | return; | 747 | return; |
748 | } | 748 | } |
749 | /* find a new slot */ | 749 | /* find a new slot */ |
@@ -834,8 +834,8 @@ dsp_cmx_hardware(struct dsp_conf *conf, struct dsp *dsp) | |||
834 | nextm->dsp->name, | 834 | nextm->dsp->name, |
835 | member->dsp->pcm_slot_tx, | 835 | member->dsp->pcm_slot_tx, |
836 | member->dsp->pcm_slot_rx); | 836 | member->dsp->pcm_slot_rx); |
837 | conf->hardware = 0; | 837 | conf->hardware = 1; |
838 | conf->software = 1; | 838 | conf->software = tx_data; |
839 | return; | 839 | return; |
840 | } | 840 | } |
841 | /* find two new slot */ | 841 | /* find two new slot */ |
@@ -939,8 +939,11 @@ dsp_cmx_hardware(struct dsp_conf *conf, struct dsp *dsp) | |||
939 | /* for more than two members.. */ | 939 | /* for more than two members.. */ |
940 | 940 | ||
941 | /* if all members already have the same conference */ | 941 | /* if all members already have the same conference */ |
942 | if (all_conf) | 942 | if (all_conf) { |
943 | conf->hardware = 1; | ||
944 | conf->software = tx_data; | ||
943 | return; | 945 | return; |
946 | } | ||
944 | 947 | ||
945 | /* | 948 | /* |
946 | * if there is an existing conference, but not all members have joined | 949 | * if there is an existing conference, but not all members have joined |
@@ -1013,6 +1016,8 @@ dsp_cmx_hardware(struct dsp_conf *conf, struct dsp *dsp) | |||
1013 | dsp_cmx_hw_message(member->dsp, | 1016 | dsp_cmx_hw_message(member->dsp, |
1014 | MISDN_CTRL_HFC_CONF_JOIN, current_conf, 0, 0, 0); | 1017 | MISDN_CTRL_HFC_CONF_JOIN, current_conf, 0, 0, 0); |
1015 | } | 1018 | } |
1019 | conf->hardware = 1; | ||
1020 | conf->software = tx_data; | ||
1016 | return; | 1021 | return; |
1017 | } | 1022 | } |
1018 | 1023 | ||