diff options
author | Antara Borwankar <antara.borwankar@intel.com> | 2019-05-13 14:20:43 +0530 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2019-05-16 10:40:45 -0500 |
commit | 41e1cfcd64f91a7e46e668784e22dad87958e5ba (patch) | |
tree | 4962cae65c47e44f1f1f5f778859e904275a6aad /drivers | |
parent | 0c2f2815caa5392b116fb9d84ecd49ef09d8a007 (diff) | |
download | ofono-41e1cfcd64f91a7e46e668784e22dad87958e5ba.tar.gz |
xmm7modem: handling of dual mode technology preference
Handled dual mode technology preference "umts,gsm" and
"lte,umts" for xmm7modem.
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/xmm7modem/radio-settings.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/xmm7modem/radio-settings.c b/drivers/xmm7modem/radio-settings.c index f1eb1aa9..c7c2ce0e 100644 --- a/drivers/xmm7modem/radio-settings.c +++ b/drivers/xmm7modem/radio-settings.c @@ -84,10 +84,10 @@ static void xact_query_cb(gboolean ok, GAtResult *result, gpointer user_data) mode = OFONO_RADIO_ACCESS_MODE_LTE; break; case 3: - mode = OFONO_RADIO_ACCESS_MODE_UMTS; + mode = OFONO_RADIO_ACCESS_MODE_UMTS|OFONO_RADIO_ACCESS_MODE_GSM; break; case 4: - mode = OFONO_RADIO_ACCESS_MODE_LTE; + mode = OFONO_RADIO_ACCESS_MODE_LTE|OFONO_RADIO_ACCESS_MODE_UMTS; break; case 5: mode = OFONO_RADIO_ACCESS_MODE_LTE; @@ -158,7 +158,16 @@ static void xmm_set_rat_mode(struct ofono_radio_settings *rs, break; } - if (value == 6) + if (mode == + (OFONO_RADIO_ACCESS_MODE_UMTS|OFONO_RADIO_ACCESS_MODE_GSM)) { + value = 3; + preferred = 1; + } + + if (mode == (OFONO_RADIO_ACCESS_MODE_LTE|OFONO_RADIO_ACCESS_MODE_UMTS)) + value = 4; + + if (value == 6 || value == 3 || value == 4) snprintf(buf, sizeof(buf), "AT+XACT=%u,%u", value, preferred); else snprintf(buf, sizeof(buf), "AT+XACT=%u", value); |