if (hdr->service == QMI_SERVICE_CONTROL) {
const struct qmi_control_hdr *control = buf;
const struct qmi_message_hdr *msg;
+ unsigned int tid;
GList *list;
/* Ignore control messages with client identifier */
data = buf + QMI_CONTROL_HDR_SIZE + QMI_MESSAGE_HDR_SIZE;
+ tid = control->transaction;
+
if (control->type == 0x02 && control->transaction == 0x00) {
handle_indication(device, hdr->service, hdr->client,
message, length, data);
}
list = g_queue_find_custom(device->control_queue,
- GUINT_TO_POINTER(control->transaction),
- __request_compare);
+ GUINT_TO_POINTER(tid), __request_compare);
if (!list)
return;
} else {
const struct qmi_service_hdr *service = buf;
const struct qmi_message_hdr *msg;
- uint16_t tid;
+ unsigned int tid;
GList *list;
msg = buf + QMI_SERVICE_HDR_SIZE;
return hdr->transaction;
}
-bool qmi_service_cancel(struct qmi_service *service, uint16_t tid)
+bool qmi_service_cancel(struct qmi_service *service, uint16_t id)
{
+ unsigned int tid = id;
struct qmi_device *device;
struct service_send_data *data;
struct qmi_request *req;
uint16_t message, struct qmi_param *param,
qmi_result_func_t func,
void *user_data, qmi_destroy_func_t destroy);
-bool qmi_service_cancel(struct qmi_service *service, uint16_t tid);
+bool qmi_service_cancel(struct qmi_service *service, uint16_t id);
uint16_t qmi_service_register(struct qmi_service *service,
uint16_t message, qmi_result_func_t func,