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 | |
| 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>
| -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 | ||
