mirror of git://git.sysmocom.de/ofono
gemalto: Move atoms to post_online
when the voice call driver is probing, I noticed sometimes a CME Error with the code = 4 (operation not supported) related to AT commands "AT+CSSN=1,1" and "AT^SLCC=1". In the current voice call implementation for Gemalto modems the ofono_voicecall_create() is called on the gemalto_pre_sim(). The sim is not totaly readed by the module, it is not yet online which is causing a sporadic problem at driver intialization also when launching some outgoing/incoming calls. This change moves the ofono_voicecall_create() to the gemalto_post_online() to be sure that sim is well registred and online. Several other call related atoms are also moved to post_online state.
This commit is contained in:
parent
9601ff5331
commit
4462bde1f2
|
@ -573,9 +573,6 @@ static void gemalto_pre_sim(struct ofono_modem *modem)
|
||||||
ofono_devinfo_create(modem, 0, "atmodem", data->app);
|
ofono_devinfo_create(modem, 0, "atmodem", data->app);
|
||||||
ofono_location_reporting_create(modem, 0, "gemaltomodem", data->app);
|
ofono_location_reporting_create(modem, 0, "gemaltomodem", data->app);
|
||||||
|
|
||||||
ofono_modem_set_integer(modem, "GemaltoVtsQuotes", 1);
|
|
||||||
ofono_voicecall_create(modem, 0, "gemaltomodem", data->app);
|
|
||||||
|
|
||||||
data->sim = ofono_sim_create(modem, OFONO_VENDOR_GEMALTO, "atmodem",
|
data->sim = ofono_sim_create(modem, OFONO_VENDOR_GEMALTO, "atmodem",
|
||||||
data->app);
|
data->app);
|
||||||
|
|
||||||
|
@ -604,11 +601,6 @@ static void gemalto_post_sim(struct ofono_modem *modem)
|
||||||
|
|
||||||
ofono_ussd_create(modem, 0, "atmodem", data->app);
|
ofono_ussd_create(modem, 0, "atmodem", data->app);
|
||||||
|
|
||||||
ofono_call_forwarding_create(modem, 0, "atmodem", data->app);
|
|
||||||
ofono_call_settings_create(modem, 0, "atmodem", data->app);
|
|
||||||
ofono_call_meter_create(modem, 0, "atmodem", data->app);
|
|
||||||
ofono_call_barring_create(modem, 0, "atmodem", data->app);
|
|
||||||
|
|
||||||
if (!g_strcmp0(model, GEMALTO_MODEL_ALS3_PLS8x))
|
if (!g_strcmp0(model, GEMALTO_MODEL_ALS3_PLS8x))
|
||||||
ofono_lte_create(modem, OFONO_VENDOR_GEMALTO,
|
ofono_lte_create(modem, OFONO_VENDOR_GEMALTO,
|
||||||
"atmodem", data->app);
|
"atmodem", data->app);
|
||||||
|
@ -621,6 +613,14 @@ static void gemalto_post_online(struct ofono_modem *modem)
|
||||||
DBG("%p", modem);
|
DBG("%p", modem);
|
||||||
|
|
||||||
ofono_netreg_create(modem, OFONO_VENDOR_GEMALTO, "atmodem", data->app);
|
ofono_netreg_create(modem, OFONO_VENDOR_GEMALTO, "atmodem", data->app);
|
||||||
|
|
||||||
|
ofono_modem_set_integer(modem, "GemaltoVtsQuotes", 1);
|
||||||
|
ofono_voicecall_create(modem, 0, "gemaltomodem", data->app);
|
||||||
|
|
||||||
|
ofono_call_forwarding_create(modem, 0, "atmodem", data->app);
|
||||||
|
ofono_call_settings_create(modem, 0, "atmodem", data->app);
|
||||||
|
ofono_call_meter_create(modem, 0, "atmodem", data->app);
|
||||||
|
ofono_call_barring_create(modem, 0, "atmodem", data->app);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ofono_modem_driver gemalto_driver = {
|
static struct ofono_modem_driver gemalto_driver = {
|
||||||
|
|
Loading…
Reference in New Issue