summaryrefslogtreecommitdiffstats
path: root/drivers/isimodem/network-registration.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/isimodem/network-registration.c')
-rw-r--r--drivers/isimodem/network-registration.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/isimodem/network-registration.c b/drivers/isimodem/network-registration.c
index 56c3bb8f..6e9b184d 100644
--- a/drivers/isimodem/network-registration.c
+++ b/drivers/isimodem/network-registration.c
@@ -466,7 +466,8 @@ static void name_get_resp_cb(const GIsiMessage *msg, void *data)
memset(&op, 0, sizeof(struct ofono_network_operator));
- if (!check_response_status(msg, NET_OPER_NAME_READ_RESP))
+ if (!check_response_status(msg, NET_OLD_OPER_NAME_READ_RESP) &&
+ !check_response_status(msg, NET_OPER_NAME_READ_RESP))
goto error;
for (g_isi_sb_iter_init(&iter, msg, 6);
@@ -513,7 +514,7 @@ static void isi_current_operator(struct ofono_netreg *netreg,
struct netreg_data *nd = ofono_netreg_get_data(netreg);
struct isi_cb_data *cbd = isi_cb_data_new(netreg, cb, data);
- const uint8_t msg[] = {
+ uint8_t msg[] = {
NET_OPER_NAME_READ_REQ,
NET_HARDCODED_LATIN_OPER_NAME,
OFONO_MAX_OPERATOR_NAME_LENGTH,
@@ -525,6 +526,9 @@ static void isi_current_operator(struct ofono_netreg *netreg,
if (cbd == NULL || nd == NULL)
goto error;
+ if (nd->version.major < 14)
+ msg[0] = NET_OLD_OPER_NAME_READ_REQ;
+
if (g_isi_client_send(nd->client, msg, sizeof(msg), name_get_resp_cb,
cbd, g_free))
return;