diff options
author | Mika Liljeberg <mika.liljeberg@nokia.com> | 2011-03-24 14:14:09 +0200 |
---|---|---|
committer | Aki Niemi <aki.niemi@nokia.com> | 2011-03-24 14:43:53 +0200 |
commit | 44ad041c2740064ec055bee7c4084953a10e799d (patch) | |
tree | 7df0b249e131e4a9b62530d7852d5cb3ad4d86e2 | |
parent | 9edf68c553985b844a6e99d17afa8962d26c4137 (diff) | |
download | ofono-44ad041c2740064ec055bee7c4084953a10e799d.tar.bz2 |
isimodem: fix network registration for older modems
-rw-r--r-- | drivers/isimodem/network-registration.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/isimodem/network-registration.c b/drivers/isimodem/network-registration.c index a30fc8c5..8bf2423c 100644 --- a/drivers/isimodem/network-registration.c +++ b/drivers/isimodem/network-registration.c @@ -78,6 +78,7 @@ struct netreg_data { struct reg_info reg; struct gsm_info gsm; struct rat_info rat; + GIsiVersion version; char nitz_name[OFONO_MAX_OPERATOR_NAME_LENGTH + 1]; }; @@ -338,7 +339,8 @@ static void rat_resp_cb(const GIsiMessage *msg, void *data) goto error; } - if (g_isi_client_resource(nd->client) == PN_MODEM_NETWORK) + if (g_isi_client_resource(nd->client) == PN_MODEM_NETWORK || + nd->version.major < 14) req[0] = NET_MODEM_REG_STATUS_GET_REQ; if (g_isi_client_send(nd->client, req, sizeof(req), @@ -649,7 +651,8 @@ static void isi_list_operators(struct ofono_netreg *netreg, if (cbd == NULL || nd == NULL) goto error; - if (g_isi_client_resource(nd->client) == PN_MODEM_NETWORK) + if (g_isi_client_resource(nd->client) == PN_MODEM_NETWORK || + nd->version.major < 14) msg[0] = NET_MODEM_AVAILABLE_GET_REQ; if (g_isi_client_send_with_timeout(nd->client, msg, sizeof(msg), @@ -938,6 +941,9 @@ static void reachable_cb(const GIsiMessage *msg, void *data) if (nd == NULL) return; + nd->version.major = g_isi_msg_version_major(msg); + nd->version.minor = g_isi_msg_version_minor(msg); + g_isi_client_ind_subscribe(nd->client, NET_RSSI_IND, rssi_ind_cb, netreg); g_isi_client_ind_subscribe(nd->client, NET_NITZ_NAME_IND, name_ind_cb, |