broadband-modem-mbim: account for race condition in quick hot swap case

On MBIM modems, when the SIM is ejected and re-inserted in a quick manner,
the state machine logic encounters a race condition and eventually, the
modem response for subscriber status is ignored. This change accounts
for that state transition without erroring out.

Fixes #672.
This commit is contained in:
Nagi Marupaka
2023-05-11 03:30:26 +00:00
committed by Aleksander Morgado
parent af44e8c1d8
commit eeba2ff32b
3 changed files with 25 additions and 2 deletions

View File

@@ -102,6 +102,7 @@
* @MM_CORE_ERROR_RETRY: Operation cannot yet be performed, retry later.
* @MM_CORE_ERROR_EXISTS: Item already exists.
* @MM_CORE_ERROR_WRONG_SIM_STATE: Operation cannot be executed in the current SIM state. Since 1.20.
* @MM_CORE_ERROR_RESET_AND_RETRY: Operation cannot yet be performed, reset the retry count and retry later. Since 1.22.
*
* Common errors that may be reported by ModemManager.
*
@@ -123,6 +124,7 @@ typedef enum { /*< underscore_name=mm_core_error >*/
MM_CORE_ERROR_RETRY = 12, /*< nick=Retry >*/
MM_CORE_ERROR_EXISTS = 13, /*< nick=Exists >*/
MM_CORE_ERROR_WRONG_SIM_STATE = 14, /*< nick=WrongSimState >*/
MM_CORE_ERROR_RESET_AND_RETRY = 15, /*< nick=ResetRetry >*/
} MMCoreError;
/**