diff options
author | Denis Kenzior <denkenz@gmail.com> | 2024-02-20 14:26:39 -0600 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2024-02-21 10:28:22 -0600 |
commit | 6cb6953abbe304ab4c282dea30750b0d4db1989a (patch) | |
tree | a8d2f3aba216f92ecab66915c79eda715f67b43f | |
parent | 0382434d8879e63552395b4280149f7451c276b4 (diff) | |
download | ofono-6cb6953abbe304ab4c282dea30750b0d4db1989a.tar.gz |
qmi: Move version_str to qmux subclass
The version_str member is only available on QMUX based devices, and only
on certain ones. Move this member out to the qmux subclass and add a
debug statement to print it out if available.
-rw-r--r-- | drivers/qmimodem/qmi.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/qmimodem/qmi.c b/drivers/qmimodem/qmi.c index 011d677cb..a5f569bd3 100644 --- a/drivers/qmimodem/qmi.c +++ b/drivers/qmimodem/qmi.c @@ -73,7 +73,6 @@ struct qmi_device { uint16_t next_service_tid; qmi_debug_func_t debug_func; void *debug_data; - char *version_str; struct qmi_version *version_list; uint8_t version_count; struct l_hashmap *service_list; @@ -91,6 +90,7 @@ struct qmi_device_qmux { struct qmi_device super; uint16_t control_major; uint16_t control_minor; + char *version_str; }; struct qmi_service { @@ -999,7 +999,6 @@ void qmi_device_unref(struct qmi_device *device) l_hashmap_destroy(device->service_list, service_destroy); - l_free(device->version_str); l_free(device->version_list); if (device->shutting_down) @@ -1212,7 +1211,8 @@ static void discover_callback(uint16_t message, uint16_t length, if (!ptr) goto done; - device->version_str = strndup(ptr + 1, *((uint8_t *) ptr)); + qmux->version_str = l_strndup(ptr + 1, *((uint8_t *) ptr)); + __debug_device(device, "version string: %s", qmux->version_str); done: device->version_list = list; @@ -1585,6 +1585,7 @@ static void qmi_device_qmux_destroy(struct qmi_device *device) struct qmi_device_qmux *qmux = l_container_of(device, struct qmi_device_qmux, super); + l_free(qmux->version_str); l_free(qmux); } |