summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--input/device.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/input/device.c b/input/device.c
index 42c2b2ba..d9db92db 100644
--- a/input/device.c
+++ b/input/device.c
@@ -1201,9 +1201,13 @@ int input_device_set_channel(const bdaddr_t *src, const bdaddr_t *dst, int psm,
switch (psm) {
case L2CAP_PSM_HIDP_CTRL:
+ if (iconn->ctrl_io)
+ return -EALREADY;
iconn->ctrl_io = g_io_channel_ref(io);
break;
case L2CAP_PSM_HIDP_INTR:
+ if (iconn->intr_io)
+ return -EALREADY;
iconn->intr_io = g_io_channel_ref(io);
break;
}