[OpenWrt-Devel] [PATCH, v5] uqmi: add explicit check for message type when expecting a response

Koen Vandeputte koen.vandeputte at ncentric.com
Thu Jun 27 06:12:16 EDT 2019


On 20.06.19 12:45, Tautvydas Belgeras wrote:
> When the utility sends a request it expects a response type message,
> but does not explicitly check for it. When a device stays idle for
> some time, it switches into a sleep mode, and notifies the utility with an
> identification type message. In some configurations the device only sends
> this identification message when triggered by the utility, in this case by
> the request message. What the utility gets is two messages at the same time -
> an identification and a response. When it tries to decode former it obviously
> fails, because it is not what it expected.
>
> Signed-off-by: Tautvydas Belgeras <tautvydas.b at 8devices.com>
> ---
>   dev.c | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/dev.c b/dev.c
> index 4bca429..bd10207 100644
> --- a/dev.c
> +++ b/dev.c
> @@ -96,6 +96,9 @@ static void qmi_process_msg(struct qmi_dev *qmi, struct qmi_msg *msg)
>   	struct qmi_request *req;
>   	uint16_t tid;
>   
> +	if (msg->flags != QMI_CTL_FLAG_RESPONSE && msg->flags != QMI_SERVICE_FLAG_RESPONSE)
> +		return;
> +
>   	if (msg->qmux.service == QMI_SERVICE_CTL)
>   		tid = msg->ctl.transaction;
>   	else

Merged in Uqmi master

Thanks for the fix!

Regards,

Koen


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list