summaryrefslogtreecommitdiff
path: root/drivers/qmimodem
diff options
context:
space:
mode:
authorJonas Bonn <jonas@southpole.se>2018-03-29 15:57:50 +0200
committerDenis Kenzior <denkenz@gmail.com>2018-03-29 09:52:22 -0500
commit4846c26948b13181b408a9a4c9d98dc046a239b5 (patch)
treea03f906332a2e70d0430d91d0438ceacc3042a1f /drivers/qmimodem
parent8b8a760644fd99f8df295fe4dbcd23d75da8b171 (diff)
downloadofono-4846c26948b13181b408a9a4c9d98dc046a239b5.tar.gz
qmi: remove unused fields of service_send_data
After setting up the request structure, qmi_service_send makes no further use of the 'param' and 'service' fields of the service_send_data structure. This patch removes those fields and frees 'param' immediately after the request has been allocated and the parameter data thereby copied into the send buffer.
Diffstat (limited to 'drivers/qmimodem')
-rw-r--r--drivers/qmimodem/qmi.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/qmimodem/qmi.c b/drivers/qmimodem/qmi.c
index 257afd0d..caf099b1 100644
--- a/drivers/qmimodem/qmi.c
+++ b/drivers/qmimodem/qmi.c
@@ -2238,8 +2238,6 @@ bool qmi_service_get_version(struct qmi_service *service,
}
struct service_send_data {
- struct qmi_service *service;
- struct qmi_param *param;
qmi_result_func_t func;
void *user_data;
qmi_destroy_func_t destroy;
@@ -2250,8 +2248,6 @@ static void service_send_free(struct service_send_data *data)
if (data->destroy)
data->destroy(data->user_data);
- qmi_param_free(data->param);
-
g_free(data);
}
@@ -2308,22 +2304,23 @@ uint16_t qmi_service_send(struct qmi_service *service,
if (!data)
return 0;
- data->service = service;
- data->param = param;
data->func = func;
data->user_data = user_data;
data->destroy = destroy;
req = __request_alloc(service->type, service->client_id,
message, QMI_SERVICE_HDR_SIZE,
- data->param ? data->param->data : NULL,
- data->param ? data->param->length : 0,
+ param ? param->data : NULL,
+ param ? param->length : 0,
service_send_callback, data, (void **) &hdr);
+
if (!req) {
g_free(data);
return 0;
}
+ qmi_param_free(param);
+
if (device->next_service_tid < 256)
device->next_service_tid = 256;