summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2014-07-11 11:51:38 +0200
committerAleksander Morgado <aleksander@aleksander.es>2014-07-11 11:54:25 +0200
commite5920efe092ea41965ecf11fc98193e18bd502b3 (patch)
treec739c03e29fafa4792eae21a17809281df293c21
parent6062462dcb8f68aff25607b742e05a4a53148c79 (diff)
downloadModemManager-e5920efe092ea41965ecf11fc98193e18bd502b3.tar.gz
broadband-modem-mbim: VZ20M returns ERROR_PIN_REQUIRED in PIN query response
VID/PID: 258d:e000 Instead of returning success and the PIN type + PIN status + Remaining attempts, this modem returns a plain ERROR_PIN_REQUIRED error, so try to handle that...
-rw-r--r--src/mm-broadband-modem-mbim.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mm-broadband-modem-mbim.c b/src/mm-broadband-modem-mbim.c
index be6c50170..b2f9debfa 100644
--- a/src/mm-broadband-modem-mbim.c
+++ b/src/mm-broadband-modem-mbim.c
@@ -553,7 +553,15 @@ pin_query_ready (MbimDevice *device,
g_simple_async_result_set_op_res_gpointer (ctx->result,
GUINT_TO_POINTER (unlock_required),
NULL);
- } else
+ }
+ /* VZ20M reports an error when SIM-PIN is required... */
+ else if (g_error_matches (error, MBIM_STATUS_ERROR, MBIM_STATUS_ERROR_PIN_REQUIRED)) {
+ g_error_free (error);
+ g_simple_async_result_set_op_res_gpointer (ctx->result,
+ GUINT_TO_POINTER (MBIM_PIN_TYPE_PIN1),
+ NULL);
+ }
+ else
g_simple_async_result_take_error (ctx->result, error);
if (response)