Message ID | 20230327144153.3133425-2-quic_bjorande@quicinc.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp1567376vqo; Mon, 27 Mar 2023 07:49:54 -0700 (PDT) X-Google-Smtp-Source: AKy350bdC9fRJbu12hLNhbwXaFiak+DWPXfEQkCIt34JUfP8qjqYNMz8wtHAg1tAZSWRJ9sE85NW X-Received: by 2002:a17:906:8559:b0:931:9cd2:c214 with SMTP id h25-20020a170906855900b009319cd2c214mr12255698ejy.66.1679928594305; Mon, 27 Mar 2023 07:49:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679928594; cv=none; d=google.com; s=arc-20160816; b=zKSnVDBAdDZe5x7cq17uZTWrH5GFSYENSsaiIykhEPjBKdQTlC9BDDXmXHL8uZCvq4 vPxriHvLeUwXAim9wD3ucPpWXzocHK4Gp+LtJiRWv4FBPp2j0x3/QCp2wSTJaZ/++bTN W54Dj3AHCP09kbZPMtspj7MP28I82HIr+mI/YvulSNnVqOUFsH4lkXIjXTq0B1DVs+Eo 4wv/DYvGqL6Dap/ihO4+OUGddvcf8xfXLZcgP3StUsOniuGhGB3pczSg56eMparJZ3xv gUXLmu0cNkA2zx+njs+7/7KB89edDSKREm+rgCQKS0p3TBrwqdYM9kGv6Iyr71we3vsp K3UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=BNtdJXJ3kB/+rUHxTz/r6t3HER8y8mIRr6a8CGUEPKs=; b=lncDeW+/u+fjkzWEQCeTnHBe8Lj85pdcSI8kosoGO6zjaVGTb8PMH5WZruaxrt4F5y an4sr2n8UTOQT8hA8oZe6QVdD1qMX5srL060J7mWYB6CX0xtZTZPlSlMeCHP6MOhZrKA huyyDdBLHCHOMzA93u6+X18JzdjhRtDUScVZdjePW8kw6U7UMPmXf0nWvYU2XvNdCuRz GSY3kcCzS5fL4Bj6TzIxV4WCQWBZyIDYvwDSj5wRrRNWFwvJJnGmwBWg0rwxQLoSnoqI rPmdRPy5/x/XQ3kroDVi0ezhXl7SjxNxjKIAV9NQZddkFYvucSFKS2GDybEXEp0KZoId eGMg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=Ylmiil+3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z1-20020aa7c641000000b004fd2aaa62d0si27826126edr.242.2023.03.27.07.49.30; Mon, 27 Mar 2023 07:49:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=Ylmiil+3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232752AbjC0OmG (ORCPT <rfc822;makky5685@gmail.com> + 99 others); Mon, 27 Mar 2023 10:42:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42988 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232235AbjC0OmE (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Mon, 27 Mar 2023 10:42:04 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 311D819AC; Mon, 27 Mar 2023 07:42:03 -0700 (PDT) Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32RD0ZmP006772; Mon, 27 Mar 2023 14:42:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=qcppdkim1; bh=BNtdJXJ3kB/+rUHxTz/r6t3HER8y8mIRr6a8CGUEPKs=; b=Ylmiil+3wI1Fz0D6kIa/ozBqD2nMq/RUTIMsMSHkaQJMRMobUNiUMTKcE7EvrloEEWrc EyuLeAcK7bZNhj5ZFfRyXkE3Uu5JqAX/QKebSoSb4idJq5pZEM3XMMSKkGIcGUjotce7 mnuRgcBxJ/8WsPphngdZZaQyqYA4C7sSz+yJLRAKXOELSxIA8GCLWKycbr9RgNtq8FIJ WbL04nYUbmZ6XD8KiXa4ILMO3Pjvaez1de3DOFkUFE+DrJ0q/8bTOnITOo2rtqXag3dn 2phE6E2HVldhxX7xbWMz7PAXVL86mf81u16JkNcrpWPgY6/TP4K5ga5mAqVoHiZrZu3U ew== Received: from nalasppmta04.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3pkbmyr7gx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 27 Mar 2023 14:42:00 +0000 Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA04.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 32REfxcs027002 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 27 Mar 2023 14:41:59 GMT Received: from hu-bjorande-lv.qualcomm.com (10.49.16.6) by nalasex01c.na.qualcomm.com (10.47.97.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 27 Mar 2023 07:41:59 -0700 From: Bjorn Andersson <quic_bjorande@quicinc.com> To: Bjorn Andersson <andersson@kernel.org>, Mathieu Poirier <mathieu.poirier@linaro.org>, Chris Lew <quic_clew@quicinc.com> CC: <linux-arm-msm@vger.kernel.org>, <linux-remoteproc@vger.kernel.org>, <linux-kernel@vger.kernel.org> Subject: [PATCH 1/2] rpmsg: glink: Propagate TX failures in intentless mode as well Date: Mon, 27 Mar 2023 07:41:52 -0700 Message-ID: <20230327144153.3133425-2-quic_bjorande@quicinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230327144153.3133425-1-quic_bjorande@quicinc.com> References: <20230327144153.3133425-1-quic_bjorande@quicinc.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.49.16.6] X-ClientProxiedBy: nalasex01c.na.qualcomm.com (10.47.97.35) To nalasex01c.na.qualcomm.com (10.47.97.35) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: kav-ocxqdqX7aIcw15z5Sk4_EoUD3JIP X-Proofpoint-GUID: kav-ocxqdqX7aIcw15z5Sk4_EoUD3JIP X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-24_11,2023-03-27_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 spamscore=0 adultscore=0 bulkscore=0 mlxlogscore=999 mlxscore=0 suspectscore=0 phishscore=0 malwarescore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2303270116 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761532805521865666?= X-GMAIL-MSGID: =?utf-8?q?1761532805521865666?= |
Series |
rpmsg: glink: Fix + cleanup in __qcom_glink_send()
|
|
Commit Message
Bjorn Andersson
March 27, 2023, 2:41 p.m. UTC
As support for splitting transmision over several messages using
TX_DATA_CONT was introduced it does not immediately return the return
value of qcom_glink_tx().
The result is that in the intentless case (i.e. intent == NULL), the
code will continue to send all additional chunks. This is wasteful, and
it's possible that the send operation could incorrectly indicate
success, if the last chunk fits in the TX fifo.
Fix the condition.
Fixes: 8956927faed3 ("rpmsg: glink: Add TX_DATA_CONT command while sending")
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
drivers/rpmsg/qcom_glink_native.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
Comments
On 3/27/2023 7:41 AM, Bjorn Andersson wrote: > As support for splitting transmision over several messages using > TX_DATA_CONT was introduced it does not immediately return the return > value of qcom_glink_tx(). > > The result is that in the intentless case (i.e. intent == NULL), the > code will continue to send all additional chunks. This is wasteful, and > it's possible that the send operation could incorrectly indicate > success, if the last chunk fits in the TX fifo. > > Fix the condition. > > Fixes: 8956927faed3 ("rpmsg: glink: Add TX_DATA_CONT command while sending") > Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com> > --- s/transmision/transmission Reviewed-by: Chris Lew <quic_clew@quicinc.com> > drivers/rpmsg/qcom_glink_native.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/drivers/rpmsg/qcom_glink_native.c b/drivers/rpmsg/qcom_glink_native.c > index 01d2805fe30f..62634d020d13 100644 > --- a/drivers/rpmsg/qcom_glink_native.c > +++ b/drivers/rpmsg/qcom_glink_native.c > @@ -1356,8 +1356,9 @@ static int __qcom_glink_send(struct glink_channel *channel, > ret = qcom_glink_tx(glink, &req, sizeof(req), data, chunk_size, wait); > > /* Mark intent available if we failed */ > - if (ret && intent) { > - intent->in_use = false; > + if (ret) { > + if (intent) > + intent->in_use = false; > return ret; > } > > @@ -1378,8 +1379,9 @@ static int __qcom_glink_send(struct glink_channel *channel, > chunk_size, wait); > > /* Mark intent available if we failed */ > - if (ret && intent) { > - intent->in_use = false; > + if (ret) { > + if (intent) > + intent->in_use = false; > break; > } > } >
diff --git a/drivers/rpmsg/qcom_glink_native.c b/drivers/rpmsg/qcom_glink_native.c index 01d2805fe30f..62634d020d13 100644 --- a/drivers/rpmsg/qcom_glink_native.c +++ b/drivers/rpmsg/qcom_glink_native.c @@ -1356,8 +1356,9 @@ static int __qcom_glink_send(struct glink_channel *channel, ret = qcom_glink_tx(glink, &req, sizeof(req), data, chunk_size, wait); /* Mark intent available if we failed */ - if (ret && intent) { - intent->in_use = false; + if (ret) { + if (intent) + intent->in_use = false; return ret; } @@ -1378,8 +1379,9 @@ static int __qcom_glink_send(struct glink_channel *channel, chunk_size, wait); /* Mark intent available if we failed */ - if (ret && intent) { - intent->in_use = false; + if (ret) { + if (intent) + intent->in_use = false; break; } }