- for (i = 0; i < ARRAY_SIZE(coupling); i++) {
- if (!strcmp(tmp_str, coupling[i])) {
- g_free(devc->coupling[0]);
- g_free(devc->coupling[1]);
- devc->coupling[0] = g_strdup(coupling[i]);
- devc->coupling[1] = g_strdup(coupling[i]);
- set_cfg(sdi, ":CHAN1:COUP %s", devc->coupling[0]);
- ret = set_cfg(sdi, ":CHAN2:COUP %s", devc->coupling[1]);
- break;
+ for (i = 0; i < 2; i++) {
+ if (probe_group == &devc->analog_groups[i])
+ {
+ for (j = 0; j < ARRAY_SIZE(coupling); j++)
+ {
+ if (!strcmp(tmp_str, coupling[j]))
+ {
+ g_free(devc->coupling[i]);
+ devc->coupling[i] = g_strdup(coupling[j]);
+ return set_cfg(sdi, ":CHAN%d:COUP %s", i + 1,
+ devc->coupling[i]);
+ }
+ }
+ return SR_ERR_ARG;