From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C85DD281341 for ; Tue, 11 Nov 2025 05:22:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762838559; cv=none; b=uiqsN9RJySTPZg/0wbtwTvEqrvbn+cKRfgoxI41eZelngqUfFr8t5TIMq+HiKTdYUbwQp1bDMqoKse9/+Bp9s/hZHjfct147TEmWD0B/Og/pkhMF78x4rggmpmLkyN2Cf0QkTnwUu9mVGjHIbiSE1EF5boQoPuOk2f5ulHO6BoI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762838559; c=relaxed/simple; bh=9OF1VOFFihuJuwmCepEzHh2ATgtLynGxJRG5+laPChQ=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=oGXaBCECpaSlv8L2KO0a+MxNCs5npsg6T4xsdQEpok6rfLl615JxhjFeMtDGtnYEfzGbZEN0/NlJ4doeyzQcOcMMw2XL/Z2d/JloeGeiIYlSX8z1zeTwyiGsHQrmcBlU7U9jHbkvPZGAxTegvuGjSnV8tt0CQb6RUyVV5Pjk7AE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=MosCMOCW; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=L2DgMTqq; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="MosCMOCW"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="L2DgMTqq" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5AB3xC3d4074136 for ; Tue, 11 Nov 2025 05:22:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 7Te5+jGKVmczWAFRX4897loQZ9s+94IKGhi21It1SFQ=; b=MosCMOCW3NChtPvs 1bMlSDAStRvBjBJXjFGSIIe7xvCam9wnhaxQzB66lwiNjiOQ/qnwNa72xMafmilu PlW8P2WijEWhS+bhRRQAXYqJLiEkCvJ596Xzxl7HtrFjvcmw+PTma5FAp1Ajap3S zSR/bK8hYfviy4wkcYa2aMxyZzhPXjbuRNawLs/NE07hoRJmFMmUUbwsevY3uyI2 YbohSNdFNIDmOFZ9+jTEEsg04GL3AF5R29fevs0MOKf8/aU64bqQwYd7xkC7gHp3 TVtvbwICqiGH13o6ULl4Jr3PVpkNBc1KxT1P+VTTrC7BHTPWphRa/nyb9pBsstbH pb/Wqw== Received: from mail-pg1-f199.google.com (mail-pg1-f199.google.com [209.85.215.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4abkws9rp6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 11 Nov 2025 05:22:36 +0000 (GMT) Received: by mail-pg1-f199.google.com with SMTP id 41be03b00d2f7-b9d73d57328so3052692a12.1 for ; Mon, 10 Nov 2025 21:22:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1762838556; x=1763443356; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=7Te5+jGKVmczWAFRX4897loQZ9s+94IKGhi21It1SFQ=; b=L2DgMTqqT2kHCVAgyb0L1d2M5AhD+8YwPLnlM3JJuLvnoQT52aDkTGLek27Fk+JsgD GzQ6+tMMzpuL0JH/H7WfN5t30E8xUoA1VAzSTLcxEw1bpcZVTt6BZhtLM6PmNWC/Jd98 Rcug8a9m/InRbm5nO2yrljyXpMndqB/rojuoyKE292y8hcW4N0zd7gqoiQ/99+REL6Dg Es883jIpXTGBBAiu8xGZH9IB1U0jcAf5i9yKDStuO57EKDYuLS0hGah8EpvuutqCZhPp LZOi/txN8ca/FYp4mYf3czoqx44XLmcS/M7kIlQQlN2Hp/jmPvWCAE1GBuOqRI7oczq1 zASQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762838556; x=1763443356; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=7Te5+jGKVmczWAFRX4897loQZ9s+94IKGhi21It1SFQ=; b=OxqItGj8njdKZVZCxbGXwVwso9PJOpM5vXLHcr7ngecqkpGX72v3u0+rXistGj17HO E8ftAlmv1RPQtGb/o3kfzpk5JD+JgHlVfHqgFVsEVr+e11hQCzL+Xd5IvbsfwSHKTZ4J UxOPnaLsGCFg51uD1pJluscAhsmYoU1fEcg+M7ozyr2cdJ72ofcCHZ0R3Ojl9I1NiQsg 1heFTUQzpOW0QAwGdCuYmCDNv8JDkrtPQRm7Mrith/m4+VWtB91bT8IUYv/8/Qvsh59v g9N9f1tA/2h8eN9kexU8VvLkppvMe1FIlFVCO7vwCbpamO1p3gAJj9BGziiACGW2cmiC IiIg== X-Forwarded-Encrypted: i=1; AJvYcCXq9OX/ueJo3cggJ7nSjXw8mpTQd1lGYU3ckNW3zZYDrIQK3Eb7OBJfKGSU8I7o1JqTN5K4yRk6OPyjMC4=@vger.kernel.org X-Gm-Message-State: AOJu0YzWMxiMpupC1DZy5CM23xCAzUrrEqWerde+s0IqUaYoE0bLg62Y sp7JFT3qWj3r9K6B0lKru4iAiTKCNkbCJ+GHIBn1+GxpIGTbNJQMA6H0kJdWp8Ujo5UtgwOHKpv GBnkPXHuCDwxqLV4kKHV4Jb5SSJiJ0E2EucbwFZkCk84l9DP35Nuc/NsqxWSWPaBmi9o= X-Gm-Gg: ASbGncsUQtrUwY8OHHFvDGRjeo7E/dcHH1jqgLx9g1fq+OnC+yzdqp4ZiUMYoLg3clv gyWKlBVSxPez6XgvlP/OwgxPNMemuZoV0IGJ1x6/gnkzHQ/4dyGm6KY6bswwNZNL8fJ+O8zuqCu I5hypr1Axs6A+vAV8bw8XF3j+MzdW2lT9T1z8jUB7Rvx/mGZnDwHjlYTPLlHX1CvbfwJfZRyQzR t18rcG8ouwj3mBw58M/TvQlJtJwvpUZswzvN7uk25X1ePjmesQU3BuU/QEPM6PYYNCpLNQsb2az W3ap18ERuHt/0oKCjflM/FAzxHcMTIS1IrX62Zx2+Ok6vQUjS4Ppz6uVXD7f4Tqe20ek0/3e9wD PhdI20rNX3wviHWXc5Soa469d90yagJ4= X-Received: by 2002:a17:903:244a:b0:246:7a43:3f66 with SMTP id d9443c01a7336-297e561ac3dmr145696115ad.7.1762838555604; Mon, 10 Nov 2025 21:22:35 -0800 (PST) X-Google-Smtp-Source: AGHT+IG44dhpC7FpqpgcK7ljK7RCCQ2W7yUdgoVHyPBRAs0CPdhZrrNwS6XdCmzCnymqvg8hfGr33Q== X-Received: by 2002:a17:903:244a:b0:246:7a43:3f66 with SMTP id d9443c01a7336-297e561ac3dmr145695555ad.7.1762838554961; Mon, 10 Nov 2025 21:22:34 -0800 (PST) Received: from [10.218.32.171] ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29650c5f011sm165660855ad.25.2025.11.10.21.22.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 10 Nov 2025 21:22:34 -0800 (PST) Message-ID: <5cd78217-8da9-4290-b098-8210280e65d8@oss.qualcomm.com> Date: Tue, 11 Nov 2025 10:52:25 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1 2/4] pinctrl: qcom: msm: Fix potential deadlock in pinmux configuration To: Bjorn Andersson Cc: Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Linus Walleij , Greg Kroah-Hartman , Jiri Slaby , Dmitry Baryshkov , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-serial@vger.kernel.org, alexey.klimov@linaro.org, krzk@kernel.org, bryan.odonoghue@linaro.org, jorge.ramirez@oss.qualcomm.com, dmitry.baryshkov@oss.qualcomm.com, Konrad Dybcio , psodagud@quicinc.com, djaggi@quicinc.com, quic_msavaliy@quicinc.com, quic_vtanuku@quicinc.com, quic_arandive@quicinc.com, quic_shazhuss@quicinc.com, quic_cchiluve@quicinc.com, Prasad Sodagudi References: <20251110101043.2108414-1-praveen.talari@oss.qualcomm.com> <20251110101043.2108414-3-praveen.talari@oss.qualcomm.com> Content-Language: en-US From: Praveen Talari In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTExMDAzOSBTYWx0ZWRfXwCtdvO24uspU +pL5A0b2MJP8btrx8in6yyOZHJkVz5DhWFQh4o/3nLw4c/qbXsAW3IKrc/MFRQis+B0k58x8Gh8 TNMJigyEO3ch2RLFMYdcpoJh8bGp5eGPSBjRXTs6Fgg0HGLfHjd5ImHUacC+LwbKyftER2OovH7 FNPGkS3JVycjCxQftaNc4EvuGLSd9/SVwajQ9kLftHtHxNaY19+qeVoeETv5d6Cm+2gT1syBzfo KpTdnFqCHOe+PJ5q8s+LqQcOAWsrbKQRNqM3DwKRTS1h1zXSPiwSg3sr5QjQ3uu7Yrfew9ebo0d fOUXkqmjUD3qdDRG+2tID3k+6MZhnDaFmpZhKofBedxjqhzovn2LXcvseyLtt5HYx+cBWO2y30o eDi6zFZcaLfs6apyA6gCajicJuOF3g== X-Authority-Analysis: v=2.4 cv=Vosuwu2n c=1 sm=1 tr=0 ts=6912c81c cx=c_pps a=Oh5Dbbf/trHjhBongsHeRQ==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=IV0jPyGM1QMGTU76z_QA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=_Vgx9l1VpLgwpw_dHYaR:22 X-Proofpoint-GUID: X_gTFc-iSsxyLX6FwvHSjAJepPvBfD_s X-Proofpoint-ORIG-GUID: X_gTFc-iSsxyLX6FwvHSjAJepPvBfD_s X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-11_01,2025-11-10_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 adultscore=0 clxscore=1015 priorityscore=1501 suspectscore=0 spamscore=0 impostorscore=0 malwarescore=0 phishscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511110039 Hi Bjorn, Thank you for review. On 11/11/2025 9:38 AM, Bjorn Andersson wrote: > On Mon, Nov 10, 2025 at 03:40:41PM +0530, Praveen Talari wrote: >> Replace disable_irq() with disable_irq_nosync() in msm_pinmux_set_mux() >> to prevent potential deadlock when wakeup IRQ is triggered on the same > > "potential"? In what case will calling disable_irq() from the irq > handler of that irq not deadlock? > >> GPIO being reconfigured. >> >> The issue occurs when a wakeup IRQ is triggered on a GPIO and the IRQ >> handler attempts to reconfigure the same GPIO's pinmux. In this scenario, >> msm_pinmux_set_mux() calls disable_irq() which waits for the currently >> running IRQ handler to complete, creating a circular dependency that >> results in deadlock. >> >> Using disable_irq_nosync() avoids waiting for the IRQ handler to >> complete, preventing the deadlock condition while still properly >> disabling the interrupt during pinmux reconfiguration. >> >> Suggested-by: Prasad Sodagudi > > That's weird, I debugged your deadlock for you and told you to make this > very change in: > > https://lore.kernel.org/all/7sxsfyu2kqbycyfftwfhrncwk3dfnubmzhyi2rqi3jtvi5qsnh@bya3cii45zhn/ > > So I guess Prasad told you how to fix this issue before I invested the > time helping you? Yes, that’s correct. Prasad had suggested it earlier. Thanks, Praveen Talari > > > Change looks good, and description captures the problem. > > Reviewed-by: Bjorn Andersson > > Regards, > Bjorn > >> Signed-off-by: Praveen Talari >> --- >> drivers/pinctrl/qcom/pinctrl-msm.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c >> index 67525d542c5b..e99871b90ab9 100644 >> --- a/drivers/pinctrl/qcom/pinctrl-msm.c >> +++ b/drivers/pinctrl/qcom/pinctrl-msm.c >> @@ -189,7 +189,7 @@ static int msm_pinmux_set_mux(struct pinctrl_dev *pctldev, >> */ >> if (d && i != gpio_func && >> !test_and_set_bit(d->hwirq, pctrl->disabled_for_mux)) >> - disable_irq(irq); >> + disable_irq_nosync(irq); >> >> raw_spin_lock_irqsave(&pctrl->lock, flags); >> >> -- >> 2.34.1 >>