Translates qmi error codes into ofono cme errors
---
drivers/qmimodem/qmi.c | 11 +++++++++++
drivers/qmimodem/qmi.h | 2 ++
2 files changed, 13 insertions(+)
diff --git a/drivers/qmimodem/qmi.c b/drivers/qmimodem/qmi.c
index a0632ca54025..90349db61964 100644
--- a/drivers/qmimodem/qmi.c
+++ b/drivers/qmimodem/qmi.c
@@ -476,6 +476,17 @@ static const char *__error_to_string(uint16_t error)
return NULL;
}
+int qmi_error_to_ofono_cme(int qmi_error) {
+ switch (qmi_error) {
+ case 0x0019:
+ return 4; /* Not Supported */
+ case 0x0052:
+ return 32; /* Access Denied */
+ default:
+ return -1;
+ }
+}
+
static void __debug_msg(const char dir, const void *buf, size_t len,
qmi_debug_func_t function, void *user_data)
{
diff --git a/drivers/qmimodem/qmi.h b/drivers/qmimodem/qmi.h
index b4955b40b1fb..4f2d5bdf59c5 100644
--- a/drivers/qmimodem/qmi.h
+++ b/drivers/qmimodem/qmi.h
@@ -140,6 +140,8 @@ bool qmi_result_get_uint64(struct qmi_result *result,
uint8_t type,
uint64_t *value);
void qmi_result_print_tlvs(struct qmi_result *result);
+int qmi_error_to_ofono_cme(int qmi_error);
+
struct qmi_service;
typedef void (*qmi_result_func_t)(struct qmi_result *result, void *user_data);
--
2.15.1
_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono