From patchwork Tue Nov 7 07:16:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qiang Yu X-Patchwork-Id: 162289 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:aa0b:0:b0:403:3b70:6f57 with SMTP id k11csp65255vqo; Mon, 6 Nov 2023 23:17:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IGx9q3jIfDdo8Is4qmy9vzJ7iN9SSda7NUzi+pxK0at3rlrggEIbMMbEyuHEQ4ALnwO5b31 X-Received: by 2002:a17:902:e1cd:b0:1bd:ca80:6fe6 with SMTP id t13-20020a170902e1cd00b001bdca806fe6mr20745989pla.41.1699341453786; Mon, 06 Nov 2023 23:17:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699341453; cv=none; d=google.com; s=arc-20160816; b=YnE+cXDFeDcfGg9LbLZZzqcp0dTTcwfS9tYvkdTAnSQmE1bDaQrpO37tLv/QFyQc6O rydawYIe3LhidmcqNavaCTJYhr1ObjmKNXrYnOKr6jVQZ24/xR3JQPK76dpHdguW/cPH +nqJNXsGVWTimo0SMgmg0p7I8P6hwIQ4ArQPzrAVFQwdgVW5iyC6PjkQMxBxEkKR+mZa ID8flZMQT4xQ+af1h6TeYtZPZ/uOlvHBQ4OWR73qdpZpvgU8qwsZILUB42hIxh7Dd85L 3VrRhWAZlpvYDXVqyvRJ9NXiKsUOsgewH5I68gkEqf8cQSJOnU7HBIsotVSXwUYlmQiU oo3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=c22HVGQNNbHCzJdzQ6OlClcb1N10zdXR7XIevb40yuA=; fh=7y8XBjHEOFaIi1bWwlOqynzp3kMu6S1xEU1Lbig9USo=; b=EKk2Sw+HgfHm+5V1UlAvE59PEI+Efoo347Af1Sp7pktqcnV4DwTZzRLfyaeUTru80F cy0Vyo2KqjWJ6z3fXG6+j1l1DyF5h+9lwllAI73mCccGktzcda8I3nYEnxIS+wY9XP8f Y6lobVqIxt3VosRCbZh+Pwzcfxm9zuuMmF1zePcCYOCF6aFxKONsyI3uRTdNkVXt8hW4 wLcj5E/jVKwkHk4FZ/gmlpD3c7CHyoW1CtFku0+jes1r0Pir9ekBqyauJJ8+/6xEMnr2 +QxWaTfgxPkBaJeP5D9Q5coeuPYZOPvP5hcaCMHgVSRMuUPkc+9ZxVOSdmf6nooTnjh/ cTyA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b="WaTYrw/X"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 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 lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id i9-20020a17090332c900b001ca335f71bbsi10835386plr.140.2023.11.06.23.17.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Nov 2023 23:17:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b="WaTYrw/X"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id B37CE80CE7D4; Mon, 6 Nov 2023 23:17:31 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233556AbjKGHRU (ORCPT + 33 others); Tue, 7 Nov 2023 02:17:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58688 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233550AbjKGHRS (ORCPT ); Tue, 7 Nov 2023 02:17:18 -0500 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 06E69171C; Mon, 6 Nov 2023 23:17:03 -0800 (PST) Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3A76BHpp027977; Tue, 7 Nov 2023 07:16:27 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; s=qcppdkim1; bh=c22HVGQNNbHCzJdzQ6OlClcb1N10zdXR7XIevb40yuA=; b=WaTYrw/X2UqG33Z2WuArd233vWKvBTk51PQy78jbtIfmX1CVI+NL6qlUxRouk0YcP9uG 9X/Nt7Bk18pjvtAXuDxepfo144JDCvzmiAf2t65C1m40ccCO53Y/D/XPDc/NXBRb3TZC ZVUtLidaDstZ4wtagqla3XtjrY/3oRQKvgqVbJTwmGTk51o+n3bQmanjhafZ5xpsFSSs y/jTmWAeobRsg7wvsvGNb6nRYi5/bHEAgCbsjaFb+UqT6w8czVnkXpvROQ5tFU5knDtl R7G/igN0OSYtmWiby8ecKnQBYG3INho6b6A42bPtweUiPa5Dwxwy/Kk1d/67I4D3XK/2 KQ== Received: from aptaippmta02.qualcomm.com (tpe-colo-wan-fw-bordernet.qualcomm.com [103.229.16.4]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3u72avswwg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 07 Nov 2023 07:16:27 +0000 Received: from pps.filterd (APTAIPPMTA02.qualcomm.com [127.0.0.1]) by APTAIPPMTA02.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTP id 3A77G8GS008365; Tue, 7 Nov 2023 07:16:08 GMT Received: from pps.reinject (localhost [127.0.0.1]) by APTAIPPMTA02.qualcomm.com (PPS) with ESMTP id 3u5f1kdxjs-1; Tue, 07 Nov 2023 07:16:08 +0000 Received: from APTAIPPMTA02.qualcomm.com (APTAIPPMTA02.qualcomm.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 3A77G8ok008359; Tue, 7 Nov 2023 07:16:08 GMT Received: from cbsp-sh-gv.qualcomm.com (CBSP-SH-gv.ap.qualcomm.com [10.231.249.68]) by APTAIPPMTA02.qualcomm.com (PPS) with ESMTP id 3A77G83f008358; Tue, 07 Nov 2023 07:16:08 +0000 Received: by cbsp-sh-gv.qualcomm.com (Postfix, from userid 4098150) id 783385442; Tue, 7 Nov 2023 15:16:07 +0800 (CST) From: Qiang Yu To: mani@kernel.org, quic_jhugo@quicinc.com Cc: mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, quic_cang@quicinc.com, quic_mrana@quicinc.com, Bhaumik Bhatt , stable@vger.kernel.org, Qiang Yu Subject: [PATCH v3 1/4] bus: mhi: host: Add spinlock to protect WP access when queueing TREs Date: Tue, 7 Nov 2023 15:16:02 +0800 Message-Id: <1699341365-47737-2-git-send-email-quic_qianyu@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1699341365-47737-1-git-send-email-quic_qianyu@quicinc.com> References: <1699341365-47737-1-git-send-email-quic_qianyu@quicinc.com> X-QCInternal: smtphost X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: -c4mk4Ixz3x-Q8qczvdFQfY0IY_Qzz79 X-Proofpoint-GUID: -c4mk4Ixz3x-Q8qczvdFQfY0IY_Qzz79 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-06_15,2023-11-02_03,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 malwarescore=0 mlxlogscore=332 impostorscore=0 phishscore=0 bulkscore=0 adultscore=0 priorityscore=1501 clxscore=1011 spamscore=0 suspectscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310240000 definitions=main-2311070059 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Mon, 06 Nov 2023 23:17:31 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781888663862126308 X-GMAIL-MSGID: 1781888663862126308 From: Bhaumik Bhatt Protect WP accesses such that multiple threads queueing buffers for incoming data do not race. Cc: Fixes: 189ff97cca53 ("bus: mhi: core: Add support for data transfer") Signed-off-by: Bhaumik Bhatt Signed-off-by: Qiang Yu Reviewed-by: Manivannan Sadhasivam --- drivers/bus/mhi/host/main.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/bus/mhi/host/main.c b/drivers/bus/mhi/host/main.c index 6cf1145..c9415b0 100644 --- a/drivers/bus/mhi/host/main.c +++ b/drivers/bus/mhi/host/main.c @@ -1205,6 +1205,9 @@ int mhi_gen_tre(struct mhi_controller *mhi_cntrl, struct mhi_chan *mhi_chan, int eot, eob, chain, bei; int ret; + /* Protect accesses for reading and incrementing WP */ + write_lock_bh(&mhi_chan->lock); + buf_ring = &mhi_chan->buf_ring; tre_ring = &mhi_chan->tre_ring; @@ -1222,8 +1225,10 @@ int mhi_gen_tre(struct mhi_controller *mhi_cntrl, struct mhi_chan *mhi_chan, if (!info->pre_mapped) { ret = mhi_cntrl->map_single(mhi_cntrl, buf_info); - if (ret) + if (ret) { + write_unlock_bh(&mhi_chan->lock); return ret; + } } eob = !!(flags & MHI_EOB); @@ -1240,6 +1245,8 @@ int mhi_gen_tre(struct mhi_controller *mhi_cntrl, struct mhi_chan *mhi_chan, mhi_add_ring_element(mhi_cntrl, tre_ring); mhi_add_ring_element(mhi_cntrl, buf_ring); + write_unlock_bh(&mhi_chan->lock); + return 0; } From patchwork Tue Nov 7 07:16:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qiang Yu X-Patchwork-Id: 162286 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:aa0b:0:b0:403:3b70:6f57 with SMTP id k11csp64996vqo; Mon, 6 Nov 2023 23:16:53 -0800 (PST) X-Google-Smtp-Source: AGHT+IEcbuGsNWqaSsLLQLPYLb6EGMT6h9u/aJ2yt+XKVPF9l1ZxHZTZcOhrZ2rQIPAS7+0eYTFv X-Received: by 2002:a05:6a00:2341:b0:692:b6e8:ce88 with SMTP id j1-20020a056a00234100b00692b6e8ce88mr29013381pfj.17.1699341413225; Mon, 06 Nov 2023 23:16:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699341413; cv=none; d=google.com; s=arc-20160816; b=a7iewi8lzo1nHyLR098d8xhpd+YgtIGY0Csgrv1m4EcU2nDLbCbi1RHZsJA+gauRjR WK5yh8Z2K/21v7JfcUfS3w1/2bx57LTFOeQ97guk7Tf23kfv9AFFizjVddZWl+OIjulW HqT23e8+QswDVxp8GQcRlYOBfkAqpib/DttSValy0XBc15AMnLqBpzPPTPZO1S/GByAD hIlE/siaoTebFhxFKlf3amdxNiOGgcdGNJMclse9vq+GoNIaKPwASJhXceVM1c4yAJq3 +5EI04Xj32JzxZKTut6DW2/LabewdItgClI5mqdzbvxtHKuknTP+N5OH5LqRbTj/5UKj sthw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=At2oLJSrF+NLWpZR7+DkNM++WDLcsuVv2Rsht2kQgl4=; fh=f4KQnOf4DL3FZ4rINpxCCB681RH9plJXTbAzdkN1cKE=; b=GfwHq7v7r/Zj07m0olQd4lXjaeH7LcyxJ5btc+1xJ4zUNW/NfVMfXYgg6UnQTn3JRV vRw50cXn/HFcUAw4oS5wb4BKUwXbxYrtYrh3kI6wlBXnpoXJrMaGYg48sle+OpKALViX gJS4BN69iTE3w3oPhrz099bBN9CxiQfNNWKJATgjxwY2Qkc1ADnjAv1FpEP0Dg+VfloL O7jwwz45lPVCn53L4EC1rJu4NN38NWcES9f4IrUefnNXUnynRAD6ef7gMY5kwgJgwF4Q a7q3pGUdsgLxPFi/lqvOC9MbUD8egIhU+mUgKmwf1bhycXFulfmYL2DmazA2EmhG9+7Z Y+9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=CNw4Ap4e; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id v191-20020a6389c8000000b005b96c4292bbsi1426270pgd.420.2023.11.06.23.16.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Nov 2023 23:16:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=CNw4Ap4e; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 2058C8116E4E; Mon, 6 Nov 2023 23:16:51 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233360AbjKGHQq (ORCPT + 33 others); Tue, 7 Nov 2023 02:16:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35298 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233251AbjKGHQm (ORCPT ); Tue, 7 Nov 2023 02:16:42 -0500 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 093BB11C; Mon, 6 Nov 2023 23:16:39 -0800 (PST) Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3A75SNdo023285; Tue, 7 Nov 2023 07:16:34 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; s=qcppdkim1; bh=At2oLJSrF+NLWpZR7+DkNM++WDLcsuVv2Rsht2kQgl4=; b=CNw4Ap4eDa0yQa0K8kcI0Fe3wkX7gEWOLrNdKvt3iOyxSbETj3Oy1JsgwsPoYNEq4vEc gCaPadt37Kp+BJL+/ecu9Y04ME+OpGHQu6/fpoa6nbPL41sns4B3EfAHPKNvDh9Q883Y 3cixFv+N7ekhm060fRXlu+JNR8K7lqfimoVQ1uj3Giejs/DHuwqWP9+s4cW1zGcs3INh L8nTeKEIyAcbVkQLzJL5aBrAacBC51LGgvtaya+WFxh6mRLnWTgdFRrN0UKkabw5lBie 4ss0anpa3NY2J2tb+RP+Fs5jG8zhzibFcthXW1oij6hNru4OqgY6EFq5PNjzZ1m6WgDY RQ== Received: from aptaippmta01.qualcomm.com (tpe-colo-wan-fw-bordernet.qualcomm.com [103.229.16.4]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3u72bthx5f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 07 Nov 2023 07:16:34 +0000 Received: from pps.filterd (APTAIPPMTA01.qualcomm.com [127.0.0.1]) by APTAIPPMTA01.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTP id 3A77G9s3028694; Tue, 7 Nov 2023 07:16:09 GMT Received: from pps.reinject (localhost [127.0.0.1]) by APTAIPPMTA01.qualcomm.com (PPS) with ESMTP id 3u5f1m663c-1; Tue, 07 Nov 2023 07:16:09 +0000 Received: from APTAIPPMTA01.qualcomm.com (APTAIPPMTA01.qualcomm.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 3A77G8Lo028688; Tue, 7 Nov 2023 07:16:08 GMT Received: from cbsp-sh-gv.qualcomm.com (CBSP-SH-gv.ap.qualcomm.com [10.231.249.68]) by APTAIPPMTA01.qualcomm.com (PPS) with ESMTP id 3A77G8p5028686; Tue, 07 Nov 2023 07:16:08 +0000 Received: by cbsp-sh-gv.qualcomm.com (Postfix, from userid 4098150) id F061D5447; Tue, 7 Nov 2023 15:16:07 +0800 (CST) From: Qiang Yu To: mani@kernel.org, quic_jhugo@quicinc.com Cc: mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, quic_cang@quicinc.com, quic_mrana@quicinc.com, Qiang Yu Subject: [PATCH v3 2/4] bus: mhi: host: Drop chan lock before queuing buffers Date: Tue, 7 Nov 2023 15:16:03 +0800 Message-Id: <1699341365-47737-3-git-send-email-quic_qianyu@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1699341365-47737-1-git-send-email-quic_qianyu@quicinc.com> References: <1699341365-47737-1-git-send-email-quic_qianyu@quicinc.com> X-QCInternal: smtphost X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: dpoJryZ3jc6dyszCxxVCC4f3ldXVFkVM X-Proofpoint-GUID: dpoJryZ3jc6dyszCxxVCC4f3ldXVFkVM X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-06_15,2023-11-02_03,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=622 mlxscore=0 bulkscore=0 phishscore=0 impostorscore=0 adultscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 spamscore=0 malwarescore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310240000 definitions=main-2311070059 X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Mon, 06 Nov 2023 23:16:52 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781888621346815380 X-GMAIL-MSGID: 1781888621346815380 Ensure read and write locks for the channel are not taken in succession by dropping the read lock from parse_xfer_event() such that a callback given to client can potentially queue buffers and acquire the write lock in that process. Any queueing of buffers should be done without channel read lock acquired as it can result in multiple locks and a soft lockup. Signed-off-by: Qiang Yu --- drivers/bus/mhi/host/main.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/bus/mhi/host/main.c b/drivers/bus/mhi/host/main.c index c9415b0..a236dc2 100644 --- a/drivers/bus/mhi/host/main.c +++ b/drivers/bus/mhi/host/main.c @@ -643,6 +643,8 @@ static int parse_xfer_event(struct mhi_controller *mhi_cntrl, mhi_del_ring_element(mhi_cntrl, tre_ring); local_rp = tre_ring->rp; + read_unlock_bh(&mhi_chan->lock); + /* notify client */ mhi_chan->xfer_cb(mhi_chan->mhi_dev, &result); @@ -668,6 +670,8 @@ static int parse_xfer_event(struct mhi_controller *mhi_cntrl, kfree(buf_info->cb_buf); } } + + read_lock_bh(&mhi_chan->lock); } break; } /* CC_EOT */ From patchwork Tue Nov 7 07:16:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qiang Yu X-Patchwork-Id: 162288 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:aa0b:0:b0:403:3b70:6f57 with SMTP id k11csp65126vqo; Mon, 6 Nov 2023 23:17:14 -0800 (PST) X-Google-Smtp-Source: AGHT+IHYqgZ6xphci5j4gBZWxEfydsJ0TUNNZ83s9Mj7qneK+mLMKPwcRxTrlp0iYvPrAU9S7ABh X-Received: by 2002:a17:90b:100b:b0:27c:f48e:e245 with SMTP id gm11-20020a17090b100b00b0027cf48ee245mr27553425pjb.24.1699341434400; Mon, 06 Nov 2023 23:17:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699341434; cv=none; d=google.com; s=arc-20160816; b=cRUHJ5ONNTNMyRlUrEz7CG2Q46DLx5bL/OA78FPHD42V5wuLQo7iGZ1qjkBvme13Cs kx/CJnQxprc/J5o17P6PnmaTpC+OWC/u8QR4oEb0SIgphRa6W9CXJ7PjvNZ6FYSil6co VjsO1B8In7dJVj6SdOuIsHr2N1RhIyL2D40aUcmGHS+uWZJ9YsfNcUHBiWlfbaD1YTAk Y3UJeQE+bXLV9yeBZVMdosXoRcwQjljjPWZOTdNlO6CC0fu1/ZPSEQPj5jwx/o5yWQEt wMpA3HrIUO0ci7aKbQQ7MwwxAv4qTC9rbakcATSFrNqqwJq2X8gq9KisMNHF/y//baga LCug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=0wF1vmqvNntDEJT9NQ3UDGYk2u4j/IoHwLjboLwGHNk=; fh=f4KQnOf4DL3FZ4rINpxCCB681RH9plJXTbAzdkN1cKE=; b=bqzs87/lWstEtR7Dt8kiuitvE1Z7k2Ms9r+t7BfUx+wXwS/9PKDxMSSdg/t/gp/enj M2LfJfeedcoMQSu9M30gduH1UjoNtf/smTi7rDEf6UUnKzY41zxbyyQGtKJyPU9KVaIQ QKg77tnrhkRHB9GgjH+CaknCL6zP8MYIIf3SjGF7z1ZSHg64Pjq7x7338G+lCQm0CcVU 5eOdyEHXrL82yZ4mEMjSgKc1mL0X1v0adQ4TFw21S/G5cnhdIWlXweSdfSiRKwoP6ZsK bonwg0pR7paodLZ9D0c4+XV7phxsGpQQ7I8bcJZgVbvN2/HQniDFRffx/g9IrV4IN+Fj N6og== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b="eRgU/lHp"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 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 lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id gq22-20020a17090b105600b0026b502223cbsi9763630pjb.10.2023.11.06.23.17.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Nov 2023 23:17:14 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b="eRgU/lHp"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 1C34A807BECB; Mon, 6 Nov 2023 23:17:11 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233559AbjKGHQn (ORCPT + 33 others); Tue, 7 Nov 2023 02:16:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35282 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233029AbjKGHQm (ORCPT ); Tue, 7 Nov 2023 02:16:42 -0500 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D0519FC; Mon, 6 Nov 2023 23:16:39 -0800 (PST) Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3A77DkHB015693; Tue, 7 Nov 2023 07:16:27 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; s=qcppdkim1; bh=0wF1vmqvNntDEJT9NQ3UDGYk2u4j/IoHwLjboLwGHNk=; b=eRgU/lHpRtkppnsGMhNRGmAjCWOLVzxEDA4lYCzO46xJjJOfW5bvmahownUtHZkUkDPh TXP0fIWJdNh06sO7mPyWMabmQbQWHpZeYRtSZkwucB2thq4ny3nTt5aI6GMZ33Jr7yYb rR2H/oAPuK4nAu0GPT9+BIpJEu7N6vnFC5G07gW6AhWXx7ee+qnPSGyBbTrgygYrGqxo S9bAqRFl8OqlNRzuXDZqWLxuelsdO311y2sFj6ZHn7pDXUhkIcdJ5QnWCI4uqnBkGADa VpfBt85wxrkd6alRpxJ3wKvF8sDs0OfFq4s0luak/+DkiGbUqdlARUxB/D6zenitJ5em /A== Received: from aptaippmta01.qualcomm.com (tpe-colo-wan-fw-bordernet.qualcomm.com [103.229.16.4]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3u72avswwj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 07 Nov 2023 07:16:27 +0000 Received: from pps.filterd (APTAIPPMTA01.qualcomm.com [127.0.0.1]) by APTAIPPMTA01.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTP id 3A77GAvN028711; Tue, 7 Nov 2023 07:16:10 GMT Received: from pps.reinject (localhost [127.0.0.1]) by APTAIPPMTA01.qualcomm.com (PPS) with ESMTP id 3u5f1m663m-1; Tue, 07 Nov 2023 07:16:10 +0000 Received: from APTAIPPMTA01.qualcomm.com (APTAIPPMTA01.qualcomm.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 3A77G9E4028706; Tue, 7 Nov 2023 07:16:10 GMT Received: from cbsp-sh-gv.qualcomm.com (CBSP-SH-gv.ap.qualcomm.com [10.231.249.68]) by APTAIPPMTA01.qualcomm.com (PPS) with ESMTP id 3A77G9D5028705; Tue, 07 Nov 2023 07:16:09 +0000 Received: by cbsp-sh-gv.qualcomm.com (Postfix, from userid 4098150) id 1A8705441; Tue, 7 Nov 2023 15:16:09 +0800 (CST) From: Qiang Yu To: mani@kernel.org, quic_jhugo@quicinc.com Cc: mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, quic_cang@quicinc.com, quic_mrana@quicinc.com, Qiang Yu Subject: [PATCH v3 3/4] bus: mhi: host: Avoid processing buffer and event of a disable channel Date: Tue, 7 Nov 2023 15:16:04 +0800 Message-Id: <1699341365-47737-4-git-send-email-quic_qianyu@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1699341365-47737-1-git-send-email-quic_qianyu@quicinc.com> References: <1699341365-47737-1-git-send-email-quic_qianyu@quicinc.com> X-QCInternal: smtphost X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: NGTZLya88HmvASpMEyG_Kfp3twAkXhHn X-Proofpoint-GUID: NGTZLya88HmvASpMEyG_Kfp3twAkXhHn X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-06_15,2023-11-02_03,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 malwarescore=0 mlxlogscore=708 impostorscore=0 phishscore=0 bulkscore=0 adultscore=0 priorityscore=1501 clxscore=1015 spamscore=0 suspectscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310240000 definitions=main-2311070059 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Mon, 06 Nov 2023 23:17:11 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781888644045607867 X-GMAIL-MSGID: 1781888644045607867 Ckeck mhi channel state after getting chan->lock to ensure that we only queue buffer to an enabled channel and process event of an enabled channel. Signed-off-by: Qiang Yu --- drivers/bus/mhi/host/main.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/bus/mhi/host/main.c b/drivers/bus/mhi/host/main.c index a236dc2..b137d54 100644 --- a/drivers/bus/mhi/host/main.c +++ b/drivers/bus/mhi/host/main.c @@ -672,6 +672,8 @@ static int parse_xfer_event(struct mhi_controller *mhi_cntrl, } read_lock_bh(&mhi_chan->lock); + if (mhi_chan->ch_state != MHI_CH_STATE_ENABLED) + goto end_process_tx_event; } break; } /* CC_EOT */ @@ -1211,6 +1213,8 @@ int mhi_gen_tre(struct mhi_controller *mhi_cntrl, struct mhi_chan *mhi_chan, /* Protect accesses for reading and incrementing WP */ write_lock_bh(&mhi_chan->lock); + if (mhi_chan->ch_state != MHI_CH_STATE_ENABLED) + return -EINVAL; buf_ring = &mhi_chan->buf_ring; tre_ring = &mhi_chan->tre_ring; From patchwork Tue Nov 7 07:16:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qiang Yu X-Patchwork-Id: 162287 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:aa0b:0:b0:403:3b70:6f57 with SMTP id k11csp65029vqo; Mon, 6 Nov 2023 23:16:59 -0800 (PST) X-Google-Smtp-Source: AGHT+IFDov9wKv0Lo5L/AFxoAfdyxneBYgryW1srwu9h0YP/+24s99odms8+15XcGXUDiAJMbqqd X-Received: by 2002:a05:6a20:9387:b0:159:dccb:8bb4 with SMTP id x7-20020a056a20938700b00159dccb8bb4mr31479817pzh.23.1699341419509; Mon, 06 Nov 2023 23:16:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699341419; cv=none; d=google.com; s=arc-20160816; b=BCPGr2rzRj0utHFdsMC7Jox4ylbcNM7VR51TG+x+wzaLiV/mm6X13pwGx1Z+B/Npjf nPWFGWZ9bSF52jobAjcOmRGxTMeXevmlswUfJf2tSz5vogHsM+kIfrMbxNWtejDZ5hC1 9DsT6TZ0z1U9WIIHkukN7DBSCGYzxcqwDqqanwEV8IC7vEWFkR92v38322S3fN69J/Cj BktPt/IIsMa7xOj4v+s5xJC4vx7zfzEXLfJgztfaY3H7Gm/IvMV5uH0k8wXf+OtHaXJ8 /RgAX+f68MkHBNuLlGfe/DIy9BHiRYChRinTBo9J5KdqdbZqGhVwb9FMhI0ZIi37kmi1 0f4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=MW+pjJx+dmWrkSa5rLsX0OV6610yTNFNB2ply4qeBIA=; fh=bKmA2tW4XJgfdE5WSHQKuyGLkQmORF+gsrf1gZ0+NT4=; b=M4M40wGgObM58XZadQ8KW2dr0KYLO+P69sySkA/tKbWnGMAPr5Sb9ths4mDGFHKwaG jGxq7HewtlYK29YOLj+lPhGgt25SG4CHp7Ij6wFySKm+1N9WB3uEh44bPkewzwgjrtUz KpvN5MGsQ7s3NcV576IdQjLPAhtbyGP7xbQLvYp2mQVz7LueKxbdLoqrV3JG8kKF59v0 251nj42DaRAOnYbQGm/RMfRCNKDbEzcybt3lIvXuzrZE0Dpc4xgC4YOerlbtcAfmD6vJ iRKNf5Ef4gQYTwWFJqP9xgPKx2+idjolT/sTAHjWoV0poAkcL9QWyRTbHCG5+LXf/vLZ Tuqg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=DqHT70hv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id s2-20020a17090aad8200b00262ca5c4c12si9797945pjq.178.2023.11.06.23.16.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Nov 2023 23:16:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=DqHT70hv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 96D368116E66; Mon, 6 Nov 2023 23:16:58 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233618AbjKGHQv (ORCPT + 33 others); Tue, 7 Nov 2023 02:16:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35314 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233550AbjKGHQp (ORCPT ); Tue, 7 Nov 2023 02:16:45 -0500 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3E0A511D; Mon, 6 Nov 2023 23:16:42 -0800 (PST) Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3A770FUk029918; Tue, 7 Nov 2023 07:16:34 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; s=qcppdkim1; bh=MW+pjJx+dmWrkSa5rLsX0OV6610yTNFNB2ply4qeBIA=; b=DqHT70hvY4EexM/RYRfdtWGOnMwi/RJjdsiqN5GNcGBPIq5hrAGYzWqhf2LYLSMAeibV qgF2EjbQc61YYA96XA/RX1GE/x9JH7Sk4rv2q94qArSuPsF13edT1f9EKXxQ9kbXynCm f5yywSW6IMOW6ar7wVGrUsGwWXWDT1QRkWtm6QWiJ9W32qLSS7Qdv7YkVbX81WgzEw0s A8wMzSORAqFJ6gBFXDu/an2U300La4z8cSttpnb44+i4Z+QZShhOf0HyEK9lQT/68Hj0 ZJDautlyaZM7w1Lp5fgz8+8YJM4C7Hc2gq4itaZoOEd2aXHIcGJzZT9TUN9psuYqvbFo JA== Received: from aptaippmta02.qualcomm.com (tpe-colo-wan-fw-bordernet.qualcomm.com [103.229.16.4]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3u72bthx5j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 07 Nov 2023 07:16:34 +0000 Received: from pps.filterd (APTAIPPMTA02.qualcomm.com [127.0.0.1]) by APTAIPPMTA02.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTP id 3A77GBOH008385; Tue, 7 Nov 2023 07:16:11 GMT Received: from pps.reinject (localhost [127.0.0.1]) by APTAIPPMTA02.qualcomm.com (PPS) with ESMTP id 3u5f1kdxk3-1; Tue, 07 Nov 2023 07:16:11 +0000 Received: from APTAIPPMTA02.qualcomm.com (APTAIPPMTA02.qualcomm.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 3A77GB67008380; Tue, 7 Nov 2023 07:16:11 GMT Received: from cbsp-sh-gv.qualcomm.com (CBSP-SH-gv.ap.qualcomm.com [10.231.249.68]) by APTAIPPMTA02.qualcomm.com (PPS) with ESMTP id 3A77GAH1008377; Tue, 07 Nov 2023 07:16:10 +0000 Received: by cbsp-sh-gv.qualcomm.com (Postfix, from userid 4098150) id 1B95B5441; Tue, 7 Nov 2023 15:16:10 +0800 (CST) From: Qiang Yu To: mani@kernel.org, quic_jhugo@quicinc.com Cc: mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, quic_cang@quicinc.com, quic_mrana@quicinc.com, Hemant Kumar , Lazarus Motha , Qiang Yu Subject: [PATCH v3 4/4] bus: mhi: host: Take irqsave lock after TRE is generated Date: Tue, 7 Nov 2023 15:16:05 +0800 Message-Id: <1699341365-47737-5-git-send-email-quic_qianyu@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1699341365-47737-1-git-send-email-quic_qianyu@quicinc.com> References: <1699341365-47737-1-git-send-email-quic_qianyu@quicinc.com> X-QCInternal: smtphost X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: qSWrqvccYDix-QsJoEGPNQYQpt-AeHLT X-Proofpoint-GUID: qSWrqvccYDix-QsJoEGPNQYQpt-AeHLT X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-06_15,2023-11-02_03,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=668 mlxscore=0 bulkscore=0 phishscore=0 impostorscore=0 adultscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 spamscore=0 malwarescore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310240000 definitions=main-2311070059 X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Mon, 06 Nov 2023 23:16:58 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781888628179651321 X-GMAIL-MSGID: 1781888628179651321 From: Hemant Kumar Take irqsave lock after TRE is generated to avoid deadlock due to core getting interrupts enabled as local_bh_enable must not be called with irqs disabled based on upstream patch. Signed-off-by: Hemant Kumar Signed-off-by: Lazarus Motha Signed-off-by: Qiang Yu --- drivers/bus/mhi/host/main.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/bus/mhi/host/main.c b/drivers/bus/mhi/host/main.c index b137d54..93b5110 100644 --- a/drivers/bus/mhi/host/main.c +++ b/drivers/bus/mhi/host/main.c @@ -1129,17 +1129,15 @@ static int mhi_queue(struct mhi_device *mhi_dev, struct mhi_buf_info *buf_info, if (unlikely(MHI_PM_IN_ERROR_STATE(mhi_cntrl->pm_state))) return -EIO; - read_lock_irqsave(&mhi_cntrl->pm_lock, flags); - ret = mhi_is_ring_full(mhi_cntrl, tre_ring); - if (unlikely(ret)) { - ret = -EAGAIN; - goto exit_unlock; - } + if (unlikely(ret)) + return -EAGAIN; ret = mhi_gen_tre(mhi_cntrl, mhi_chan, buf_info, mflags); if (unlikely(ret)) - goto exit_unlock; + return ret; + + read_lock_irqsave(&mhi_cntrl->pm_lock, flags); /* Packet is queued, take a usage ref to exit M3 if necessary * for host->device buffer, balanced put is done on buffer completion @@ -1159,7 +1157,6 @@ static int mhi_queue(struct mhi_device *mhi_dev, struct mhi_buf_info *buf_info, if (dir == DMA_FROM_DEVICE) mhi_cntrl->runtime_put(mhi_cntrl); -exit_unlock: read_unlock_irqrestore(&mhi_cntrl->pm_lock, flags); return ret;