<div dir="ltr">HI again,<div><br></div><div>When we create multiple clients from the same QmiDevice, it works for WDS and UIM, but when we add DMS client, we face some issues like transaction timeouts. </div><div>But when I change the order of clients creation, it works ok again. Is there a recommended order when creating multiple clients (one per service) from the same QmiDevice?</div><div><br></div><div>Our flow looks like something this...</div><span class="gmail-im" style="color:rgb(80,0,80)"><div><br></div><div>qmi_device_new()<br>qmi_device_open()<br>qmi_device_allocate_client(dev, QMI_SERVICE_DMS, ....)<div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>qmi_client_dms_swi_get_current_firmware<br></div><div>qmi_client_dms_get_operating_mode<br></div></blockquote></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div><div>qmi_device_allocate_client(dev, QMI_SERVICE_UIM, ....)</div></div></div></blockquote></span><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>qmi_client_uim_get_card_status<br></div><div>qmi_client_uim_get_slot_status<br></div></blockquote></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div><div>qmi_device_allocate_client(dev, QMI_SERVICE_WDS, ....)</div></div></div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>qmi_message_wds_start_network_input_set_apn</div></blockquote></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>qmi_client_wds_start_network</div><div><br></div></blockquote></blockquote></blockquote><div><br></div>When the order of client creation was WDS, UIM and then DMS, we faced issues. But when reordered it to DMS, UIM and then WDS, it worked fine.<div>But we are unsure if this has anything to do with the transaction timeouts we faced before.</div><div><br></div><div>Thanks in advance for your time.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Dec 6, 2022 at 3:19 PM Aleksander Morgado <<a href="mailto:aleksandermj@chromium.org">aleksandermj@chromium.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">><br>
> Ok, thanks for the quick reply, but does it mean that I cannot use the same client for different calls?<br>
> something like this for example?<br>
><br>
> client_cb(...)<br>
> {<br>
> ....<br>
> qmi_client_dms_swi_get_current_firmware(...<br>
> qmi_client_dms_get_operating_mode(...<br>
> ....<br>
> }<br>
> qmi_device_allocate_client(dev, QMI_SERVICE_DMS, ...., client_cb,..)<br>
><br>
><br>
<br>
You can of course use the same client for different parallel<br>
operations, there is no issue there. Requests/responses for a specific<br>
client ID are matched properly in the QmiDevice.<br>
<br>
-- <br>
Aleksander<br>
</blockquote></div><br clear="all"><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"> </div>