summaryrefslogtreecommitdiffstats
path: root/drivers/atmodem/network-registration.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/atmodem/network-registration.c')
-rw-r--r--drivers/atmodem/network-registration.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/atmodem/network-registration.c b/drivers/atmodem/network-registration.c
index 202256a1..c80acc5d 100644
--- a/drivers/atmodem/network-registration.c
+++ b/drivers/atmodem/network-registration.c
@@ -69,6 +69,7 @@ static void at_creg_cb(gboolean ok, GAtResult *result, gpointer user_data)
ofono_netreg_status_cb_t cb = cbd->cb;
int status, lac, ci, tech;
struct ofono_error error;
+ struct netreg_data *nd = cbd->user;
dump_response("at_creg_cb", ok, result);
decode_at_error(&error, g_at_result_final_response(result));
@@ -79,7 +80,7 @@ static void at_creg_cb(gboolean ok, GAtResult *result, gpointer user_data)
}
if (at_util_parse_reg(result, "+CREG:", NULL, &status,
- &lac, &ci, &tech) == FALSE) {
+ &lac, &ci, &tech, nd->vendor) == FALSE) {
CALLBACK_WITH_FAILURE(cb, -1, -1, -1, -1, cbd->data);
return;
}
@@ -97,6 +98,8 @@ static void at_registration_status(struct ofono_netreg *netreg,
if (!cbd)
goto error;
+ cbd->user = nd;
+
if (g_at_chat_send(nd->chat, "AT+CREG?", creg_prefix,
at_creg_cb, cbd, g_free) > 0)
return;
@@ -626,11 +629,12 @@ static void creg_notify(GAtResult *result, gpointer user_data)
{
struct ofono_netreg *netreg = user_data;
int status, lac, ci, tech;
+ struct netreg_data *nd = ofono_netreg_get_data(netreg);
dump_response("creg_notify", TRUE, result);
if (at_util_parse_reg_unsolicited(result, "+CREG:", &status,
- &lac, &ci, &tech) == FALSE)
+ &lac, &ci, &tech, nd->vendor) == FALSE)
return;
ofono_netreg_status_notify(netreg, status, lac, ci, tech);