diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2014-07-11 11:51:38 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2014-07-11 11:54:25 +0200 |
commit | e5920efe092ea41965ecf11fc98193e18bd502b3 (patch) | |
tree | c739c03e29fafa4792eae21a17809281df293c21 | |
parent | 6062462dcb8f68aff25607b742e05a4a53148c79 (diff) | |
download | ModemManager-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.c | 10 |
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) |