mirror of
https://github.com/sailfishos/ofono
synced 2025-12-03 08:01:05 +08:00
Compare commits
2 Commits
mer/1.23+g
...
mer/1.23+g
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
08bae57a2b | ||
|
|
1915aeda76 |
@@ -218,23 +218,22 @@ static void ril_modem_schedule_online_check(struct ril_modem_data *md)
|
|||||||
static void ril_modem_update_radio_settings(struct ril_modem_data *md)
|
static void ril_modem_update_radio_settings(struct ril_modem_data *md)
|
||||||
{
|
{
|
||||||
struct ril_modem *m = &md->modem;
|
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 */
|
/* radio-settings.c assumes that IMSI is available */
|
||||||
if (!ril_modem_radio_settings(m)) {
|
if (!rs) {
|
||||||
DBG_(md, "initializing radio settings interface");
|
DBG_(md, "initializing radio settings interface");
|
||||||
ofono_radio_settings_create(m->ofono, 0,
|
ofono_radio_settings_create(m->ofono, 0,
|
||||||
RILMODEM_DRIVER, md);
|
RILMODEM_DRIVER, md);
|
||||||
}
|
}
|
||||||
} else {
|
} else if (rs) {
|
||||||
/* 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");
|
DBG_(md, "removing radio settings interface");
|
||||||
ofono_radio_settings_remove(rs);
|
ofono_radio_settings_remove(rs);
|
||||||
} else {
|
} else {
|
||||||
|
/* ofono core may remove radio settings atom internally */
|
||||||
DBG_(md, "radio settings interface is already gone");
|
DBG_(md, "radio settings interface is already gone");
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ril_modem_radio_state_cb(struct ril_radio *radio, void *data)
|
static void ril_modem_radio_state_cb(struct ril_radio *radio, void *data)
|
||||||
@@ -242,7 +241,6 @@ static void ril_modem_radio_state_cb(struct ril_radio *radio, void *data)
|
|||||||
struct ril_modem_data *md = data;
|
struct ril_modem_data *md = data;
|
||||||
|
|
||||||
GASSERT(md->modem.radio == radio);
|
GASSERT(md->modem.radio == radio);
|
||||||
ril_modem_update_radio_settings(md);
|
|
||||||
ril_modem_update_online_state(md);
|
ril_modem_update_online_state(md);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user