summaryrefslogtreecommitdiffstats
path: root/src/host/layer23/src/mobile/gsm48_rr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/host/layer23/src/mobile/gsm48_rr.c')
-rw-r--r--src/host/layer23/src/mobile/gsm48_rr.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/host/layer23/src/mobile/gsm48_rr.c b/src/host/layer23/src/mobile/gsm48_rr.c
index a1358c76..bed1e47d 100644
--- a/src/host/layer23/src/mobile/gsm48_rr.c
+++ b/src/host/layer23/src/mobile/gsm48_rr.c
@@ -78,6 +78,8 @@
#include <osmocom/bb/common/logging.h>
#include <osmocom/bb/common/networks.h>
#include <osmocom/bb/common/l1ctl.h>
+
+#include <osmocom/bb/mobile/gapk_io.h>
#include <osmocom/bb/mobile/vty.h>
#include <osmocom/bb/common/utils.h>
@@ -3439,6 +3441,13 @@ static int gsm48_rr_set_mode(struct osmocom_ms *ms, uint8_t chan_nr,
return -ENOTSUP;
}
+ /* Poke GAPK audio back-end, if it is chosen */
+ if (ms->settings.audio.io_target == AUDIO_IO_GAPK) {
+ rc = gapk_io_init_ms_chan(ms, ch_type, mode);
+ if (rc)
+ return rc;
+ }
+
/* Apply indicated channel mode */
LOGP(DRR, LOGL_INFO, "setting TCH mode to %s, audio mode to %d\n",
get_value_string(gsm48_chan_mode_names, mode), rr->audio_mode);