Commit 52a637c2 authored by Andreas Eversberg's avatar Andreas Eversberg Committed by David S. Miller
Browse files

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: default avatarAndreas Eversberg <jolly@eversberg.eu>
Signed-off-by: default avatarKarsten Keil <keil@b1-systems.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 74fa9e5d
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -742,8 +742,8 @@ dsp_cmx_hardware(struct dsp_conf *conf, struct dsp *dsp)
					       member->dsp->pcm_slot_tx,
					       member->dsp->pcm_bank_tx,
					       member->dsp->pcm_bank_rx);
				conf->hardware = 0;
				conf->software = 1;
				conf->hardware = 1;
				conf->software = tx_data;
				return;
			}
			/* find a new slot */
@@ -834,8 +834,8 @@ dsp_cmx_hardware(struct dsp_conf *conf, struct dsp *dsp)
					       nextm->dsp->name,
					       member->dsp->pcm_slot_tx,
					       member->dsp->pcm_slot_rx);
				conf->hardware = 0;
				conf->software = 1;
				conf->hardware = 1;
				conf->software = tx_data;
				return;
			}
			/* find two new slot */
@@ -939,8 +939,11 @@ dsp_cmx_hardware(struct dsp_conf *conf, struct dsp *dsp)
	/* for more than two members.. */

	/* if all members already have the same conference */
	if (all_conf)
	if (all_conf) {
		conf->hardware = 1;
		conf->software = tx_data;
		return;
	}

	/*
	 * 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)
			dsp_cmx_hw_message(member->dsp,
					   MISDN_CTRL_HFC_CONF_JOIN, current_conf, 0, 0, 0);
		}
		conf->hardware = 1;
		conf->software = tx_data;
		return;
	}