mirror of
https://github.com/sailfishos/ofono
synced 2025-12-01 15:11:04 +08:00
Compare commits
5 Commits
mer/1.23+g
...
mer/1.23+g
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
22197b5e04 | ||
|
|
3a358ddc9d | ||
|
|
53929f9f1a | ||
|
|
08bae57a2b | ||
|
|
1915aeda76 |
@@ -218,22 +218,21 @@ static void ril_modem_schedule_online_check(struct ril_modem_data *md)
|
||||
static void ril_modem_update_radio_settings(struct ril_modem_data *md)
|
||||
{
|
||||
struct ril_modem *m = &md->modem;
|
||||
if (m->radio->state == RADIO_STATE_ON && md->watch->imsi) {
|
||||
struct ofono_radio_settings *rs = ril_modem_radio_settings(m);
|
||||
|
||||
if (md->watch->imsi) {
|
||||
/* radio-settings.c assumes that IMSI is available */
|
||||
if (!ril_modem_radio_settings(m)) {
|
||||
if (!rs) {
|
||||
DBG_(md, "initializing radio settings interface");
|
||||
ofono_radio_settings_create(m->ofono, 0,
|
||||
RILMODEM_DRIVER, md);
|
||||
}
|
||||
} else if (rs) {
|
||||
DBG_(md, "removing radio settings interface");
|
||||
ofono_radio_settings_remove(rs);
|
||||
} else {
|
||||
/* ofono core may remove radio settings atom internally */
|
||||
struct ofono_radio_settings *rs = ril_modem_radio_settings(m);
|
||||
if (rs) {
|
||||
DBG_(md, "removing radio settings interface");
|
||||
ofono_radio_settings_remove(rs);
|
||||
} else {
|
||||
DBG_(md, "radio settings interface is already gone");
|
||||
}
|
||||
DBG_(md, "radio settings interface is already gone");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -242,7 +241,6 @@ static void ril_modem_radio_state_cb(struct ril_radio *radio, void *data)
|
||||
struct ril_modem_data *md = data;
|
||||
|
||||
GASSERT(md->modem.radio == radio);
|
||||
ril_modem_update_radio_settings(md);
|
||||
ril_modem_update_online_state(md);
|
||||
}
|
||||
|
||||
|
||||
@@ -384,6 +384,7 @@ static void ril_plugin_shutdown_slot(ril_slot *slot, gboolean kill_io)
|
||||
}
|
||||
|
||||
if (slot->cell_info) {
|
||||
sailfish_manager_set_cell_info(slot->handle, NULL);
|
||||
sailfish_cell_info_unref(slot->cell_info);
|
||||
slot->cell_info = NULL;
|
||||
}
|
||||
@@ -1041,13 +1042,13 @@ static void ril_plugin_slot_connected(ril_slot *slot)
|
||||
slot->path, slot->config.techs, slot->imei,
|
||||
slot->imeisv, ril_plugin_sim_state(slot),
|
||||
slot->slot_flags);
|
||||
sailfish_manager_set_cell_info(slot->handle, slot->cell_info);
|
||||
grilio_channel_set_enabled(slot->io, slot->handle->enabled);
|
||||
|
||||
/* Check if this was the last slot we were waiting for */
|
||||
ril_plugin_check_if_started(plugin);
|
||||
}
|
||||
|
||||
sailfish_manager_set_cell_info(slot->handle, slot->cell_info);
|
||||
ril_plugin_check_modem(slot);
|
||||
ril_plugin_check_ready(slot);
|
||||
}
|
||||
@@ -1063,8 +1064,11 @@ static void ril_plugin_slot_connected_cb(GRilIoChannel *io, void *user_data)
|
||||
static void ril_plugin_init_io(ril_slot *slot)
|
||||
{
|
||||
if (!slot->io) {
|
||||
slot->io = grilio_channel_new(ofono_ril_transport_connect
|
||||
(slot->transport_name, slot->transport_params));
|
||||
struct grilio_transport *transport =
|
||||
ofono_ril_transport_connect(slot->transport_name,
|
||||
slot->transport_params);
|
||||
|
||||
slot->io = grilio_channel_new(transport);
|
||||
if (slot->io) {
|
||||
ril_debug_trace_update(slot);
|
||||
ril_debug_dump_update(slot);
|
||||
@@ -1096,6 +1100,7 @@ static void ril_plugin_init_io(ril_slot *slot)
|
||||
slot);
|
||||
}
|
||||
}
|
||||
grilio_transport_unref(transport);
|
||||
}
|
||||
|
||||
if (!slot->io) {
|
||||
|
||||
Reference in New Issue
Block a user