diff options
Diffstat (limited to 'src/mm-modem-helpers-qmi.c')
-rw-r--r-- | src/mm-modem-helpers-qmi.c | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/src/mm-modem-helpers-qmi.c b/src/mm-modem-helpers-qmi.c index caaf3059..ea0146bb 100644 --- a/src/mm-modem-helpers-qmi.c +++ b/src/mm-modem-helpers-qmi.c @@ -3291,3 +3291,164 @@ mm_error_from_qmi_loc_indication_status (QmiLocIndicationStatus status, return FALSE; } } + +/*****************************************************************************/ + +void +mm_register_qmi_errors (void) +{ + static gsize qmi_errors_registered = 0; + + if (!g_once_init_enter (&qmi_errors_registered)) + return; + + /* QMI core errors */ + mm_register_error_mapping (QMI_CORE_ERROR, QMI_CORE_ERROR_FAILED, MM_CORE_ERROR, MM_CORE_ERROR_FAILED); + mm_register_error_mapping (QMI_CORE_ERROR, QMI_CORE_ERROR_WRONG_STATE, MM_CORE_ERROR, MM_CORE_ERROR_WRONG_STATE); + mm_register_error_mapping (QMI_CORE_ERROR, QMI_CORE_ERROR_TIMEOUT, MM_CORE_ERROR, MM_CORE_ERROR_TIMEOUT); + mm_register_error_mapping (QMI_CORE_ERROR, QMI_CORE_ERROR_INVALID_ARGS, MM_CORE_ERROR, MM_CORE_ERROR_INVALID_ARGS); + mm_register_error_mapping (QMI_CORE_ERROR, QMI_CORE_ERROR_INVALID_MESSAGE, MM_CORE_ERROR, MM_CORE_ERROR_INVALID_ARGS); + mm_register_error_mapping (QMI_CORE_ERROR, QMI_CORE_ERROR_TLV_NOT_FOUND, MM_CORE_ERROR, MM_CORE_ERROR_NOT_FOUND); + mm_register_error_mapping (QMI_CORE_ERROR, QMI_CORE_ERROR_TLV_TOO_LONG, MM_CORE_ERROR, MM_CORE_ERROR_INVALID_ARGS); + mm_register_error_mapping (QMI_CORE_ERROR, QMI_CORE_ERROR_UNSUPPORTED, MM_CORE_ERROR, MM_CORE_ERROR_UNSUPPORTED); + mm_register_error_mapping (QMI_CORE_ERROR, QMI_CORE_ERROR_TLV_EMPTY, MM_CORE_ERROR, MM_CORE_ERROR_INVALID_ARGS); + mm_register_error_mapping (QMI_CORE_ERROR, QMI_CORE_ERROR_UNEXPECTED_MESSAGE, MM_CORE_ERROR, MM_CORE_ERROR_WRONG_STATE); + mm_register_error_mapping (QMI_CORE_ERROR, QMI_CORE_ERROR_INVALID_DATA, MM_CORE_ERROR, MM_CORE_ERROR_INVALID_ARGS); + + /* QMI protocol errors */ + + /* This should never happen, because QMI operations won't fail on this type of + * error. But still, just in case, treat it as an error during normalization. */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_NONE, MM_CORE_ERROR, MM_CORE_ERROR_FAILED); + + /* This is not really an error in an operation, it is the modem reporting that the + * operation was a no-op. For the purposes of returning errors to the user, we will + * normalize it either way. */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_NO_EFFECT, MM_CORE_ERROR, MM_CORE_ERROR_FAILED); + + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_MALFORMED_MESSAGE, MM_CORE_ERROR, MM_CORE_ERROR_PROTOCOL); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_NO_MEMORY, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_MEMORY_FULL); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_INTERNAL, MM_CORE_ERROR, MM_CORE_ERROR_FAILED); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_ABORTED, MM_CORE_ERROR, MM_CORE_ERROR_ABORTED); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_CLIENT_IDS_EXHAUSTED, MM_CORE_ERROR, MM_CORE_ERROR_PROTOCOL); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_UNABORTABLE_TRANSACTION, MM_CORE_ERROR, MM_CORE_ERROR_PROTOCOL); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_INVALID_CLIENT_ID, MM_CORE_ERROR, MM_CORE_ERROR_PROTOCOL); + /* QMI_PROTOCOL_ERROR_NO_THRESHOLDS_PROVIDED */ + /* QMI_PROTOCOL_ERROR_INVALID_HANDLE */ + /* QMI_PROTOCOL_ERROR_INVALID_PROFILE */ + /* QMI_PROTOCOL_ERROR_INVALID_PIN_ID */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_INCORRECT_PIN, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_SIM_PIN); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_NO_NETWORK_FOUND, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NO_NETWORK); + /* QMI_PROTOCOL_ERROR_CALL_FAILED */ + /* QMI_PROTOCOL_ERROR_OUT_OF_CALL */ + /* QMI_PROTOCOL_ERROR_NOT_PROVISIONED */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_MISSING_ARGUMENT, MM_CORE_ERROR, MM_CORE_ERROR_PROTOCOL); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_ARGUMENT_TOO_LONG, MM_CORE_ERROR, MM_CORE_ERROR_PROTOCOL); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_INVALID_TRANSACTION_ID, MM_CORE_ERROR, MM_CORE_ERROR_PROTOCOL); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_DEVICE_IN_USE, MM_CORE_ERROR, MM_CORE_ERROR_RETRY); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_NETWORK_UNSUPPORTED, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NOT_SUPPORTED); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_DEVICE_UNSUPPORTED, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NOT_SUPPORTED); + /* QMI_PROTOCOL_ERROR_NO_FREE_PROFILE */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_INVALID_PDP_TYPE, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_UNKNOWN_PDP_ADDRESS_OR_TYPE); + /* QMI_PROTOCOL_ERROR_INVALID_TECHNOLOGY_PREFERENCE */ + /* QMI_PROTOCOL_ERROR_INVALID_PROFILE_TYPE */ + /* QMI_PROTOCOL_ERROR_INVALID_SERVICE_TYPE */ + /* QMI_PROTOCOL_ERROR_INVALID_REGISTER_ACTION */ + /* QMI_PROTOCOL_ERROR_INVALID_PS_ATTACH_ACTION */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_AUTHENTICATION_FAILED, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_USER_AUTHENTICATION_FAILED); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_PIN_BLOCKED, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_SIM_PUK); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_PIN_ALWAYS_BLOCKED, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_SIM_FAILURE); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_UIM_UNINITIALIZED, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_SIM_FAILURE); + /* QMI_PROTOCOL_ERROR_MAXIMUM_QOS_REQUESTS_IN_USE */ + /* QMI_PROTOCOL_ERROR_INCORRECT_FLOW_FILTER */ + /* QMI_PROTOCOL_ERROR_NETWORK_QOS_UNAWARE */ + /* QMI_PROTOCOL_ERROR_INVALID_QOS_ID */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_REQUESTED_NUMBER_UNSUPPORTED, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NOT_SUPPORTED); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_INTERFACE_NOT_FOUND, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NOT_FOUND); + /* QMI_PROTOCOL_ERROR_FLOW_SUSPENDED */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_INVALID_DATA_FORMAT, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_PHONE_FAILURE); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_GENERAL_ERROR, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_PHONE_FAILURE); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_UNKNOWN_ERROR, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_UNKNOWN); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_INVALID_ARGUMENT, MM_CORE_ERROR, MM_CORE_ERROR_INVALID_ARGS); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_INVALID_INDEX, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_INVALID_INDEX); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_NO_ENTRY, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NOT_FOUND); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_DEVICE_STORAGE_FULL, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_MEMORY_FULL); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_DEVICE_NOT_READY, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_PHONE_FAILURE); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_NETWORK_NOT_READY, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NO_NETWORK); + /* QMI_PROTOCOL_ERROR_WMS_CAUSE_CODE */ + /* QMI_PROTOCOL_ERROR_WMS_MESSAGE_NOT_SENT */ + /* QMI_PROTOCOL_ERROR_WMS_MESSAGE_DELIVERY_FAILURE */ + /* QMI_PROTOCOL_ERROR_WMS_INVALID_MESSAGE_ID */ + /* QMI_PROTOCOL_ERROR_WMS_ENCODING */ + /* QMI_PROTOCOL_ERROR_AUTHENTICATION_LOCK */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_INVALID_TRANSITION, MM_CORE_ERROR, MM_CORE_ERROR_WRONG_STATE); + /* QMI_PROTOCOL_ERROR_NOT_MCAST_INTERFACE */ + /* QMI_PROTOCOL_ERROR_MAXIMUM_MCAST_REQUESTS_IN_USE */ + /* QMI_PROTOCOL_ERROR_INVALID_MCAST_HANDLE */ + /* QMI_PROTOCOL_ERROR_INVALID_IP_FAMILY_PREFERENCE */ + /* QMI_PROTOCOL_ERROR_SESSION_INACTIVE */ + /* QMI_PROTOCOL_ERROR_SESSION_INVALID */ + /* QMI_PROTOCOL_ERROR_SESSION_OWNERSHIP */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_INSUFFICIENT_RESOURCES, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_INSUFFICIENT_RESOURCES); + /* QMI_PROTOCOL_ERROR_DISABLED */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_INVALID_OPERATION, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NOT_SUPPORTED); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_INVALID_QMI_COMMAND, MM_CORE_ERROR, MM_CORE_ERROR_PROTOCOL); + /* QMI_PROTOCOL_ERROR_WMS_T_PDU_TYPE */ + /* QMI_PROTOCOL_ERROR_WMS_SMSC_ADDRESS */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_INFORMATION_UNAVAILABLE, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_INVALID_MANDATORY_INFORMATION); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_SEGMENT_TOO_LONG, MM_CORE_ERROR, MM_CORE_ERROR_PROTOCOL); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_SEGMENT_ORDER, MM_CORE_ERROR, MM_CORE_ERROR_PROTOCOL); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_BUNDLING_NOT_SUPPORTED, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NOT_SUPPORTED); + /* QMI_PROTOCOL_ERROR_OPERATION_PARTIAL_FAILURE */ + /* QMI_PROTOCOL_ERROR_POLICY_MISMATCH */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_SIM_FILE_NOT_FOUND, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NOT_FOUND); + /* QMI_PROTOCOL_ERROR_EXTENDED_INTERNAL */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_ACCESS_DENIED, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NOT_ALLOWED); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_HARDWARE_RESTRICTED, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NOT_ALLOWED); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_ACK_NOT_SENT, MM_CORE_ERROR, MM_CORE_ERROR_WRONG_STATE); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_INJECT_TIMEOUT, MM_CORE_ERROR, MM_CORE_ERROR_TIMEOUT); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_INCOMPATIBLE_STATE, MM_CORE_ERROR, MM_CORE_ERROR_WRONG_STATE); + /* QMI_PROTOCOL_ERROR_FDN_RESTRICT */ + /* QMI_PROTOCOL_ERROR_SUPS_FAILURE_CASE */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_NO_RADIO, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NOT_ALLOWED); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_NOT_SUPPORTED, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NOT_SUPPORTED); + /* QMI_PROTOCOL_ERROR_NO_SUBSCRIPTION */ + /* QMI_PROTOCOL_ERROR_CARD_CALL_CONTROL_FAILED */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_NETWORK_ABORTED, MM_CORE_ERROR, MM_CORE_ERROR_ABORTED); + /* QMI_PROTOCOL_ERROR_MSG_BLOCKED */ + /* QMI_PROTOCOL_ERROR_INVALID_SESSION_TYPE */ + /* QMI_PROTOCOL_ERROR_INVALID_PB_TYPE */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_NO_SIM, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_SIM_NOT_INSERTED); + /* QMI_PROTOCOL_ERROR_PB_NOT_READY */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_PIN_RESTRICTION, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_SIM_PIN); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_PIN2_RESTRICTION, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_SIM_PIN2); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_PUK_RESTRICTION, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_SIM_PUK); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_PUK2_RESTRICTION, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_SIM_PUK2); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_PB_ACCESS_RESTRICTED, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NOT_ALLOWED); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_PB_DELETE_IN_PROGRESS, MM_CORE_ERROR, MM_CORE_ERROR_IN_PROGRESS); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_PB_TEXT_TOO_LONG, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_TEXT_TOO_LONG); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_PB_NUMBER_TOO_LONG, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_DIAL_STRING_TOO_LONG); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_PB_HIDDEN_KEY_RESTRICTION, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NOT_ALLOWED); + /* QMI_PROTOCOL_ERROR_PB_NOT_AVAILABLE */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_DEVICE_MEMORY_ERROR, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_MEMORY_FAILURE); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_NO_PERMISSION, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NOT_ALLOWED); + /* QMI_PROTOCOL_ERROR_TOO_SOON */ + /* QMI_PROTOCOL_ERROR_TIME_NOT_ACQUIRED */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_OPERATION_IN_PROGRESS, MM_CORE_ERROR, MM_CORE_ERROR_IN_PROGRESS); + /* QMI_PROTOCOL_ERROR_FW_WRITE_FAILED */ + /* QMI_PROTOCOL_ERROR_FW_INFO_READ_FAILED */ + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_FW_FILE_NOT_FOUND, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NOT_FOUND); + mm_register_error_mapping (QMI_PROTOCOL_ERROR, QMI_PROTOCOL_ERROR_FW_DIR_NOT_FOUND, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_NOT_FOUND); + /* QMI_PROTOCOL_ERROR_FW_ALREADY_ACTIVATED */ + /* QMI_PROTOCOL_ERROR_FW_CANNOT_GENERIC_IMAGE */ + /* QMI_PROTOCOL_ERROR_FW_FILE_OPEN_FAILED */ + /* QMI_PROTOCOL_ERROR_FW_UPDATE_DISCONTINUOUS_FRAME */ + /* QMI_PROTOCOL_ERROR_FW_UPDATE_FAILED */ + /* QMI_PROTOCOL_ERROR_CAT_EVENT_REGISTRATION_FAILED */ + /* QMI_PROTOCOL_ERROR_CAT_INVALID_TERMINAL_RESPONSE */ + /* QMI_PROTOCOL_ERROR_CAT_INVALID_ENVELOPE_COMMAND */ + /* QMI_PROTOCOL_ERROR_CAT_ENVELOPE_COMMAND_BUSY */ + /* QMI_PROTOCOL_ERROR_CAT_ENVELOPE_COMMAND_FAILED */ + + g_once_init_leave (&qmi_errors_registered, 1); +} |