From nobody Mon May 25 05:12:52 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 6E6FC326D45 for ; Mon, 18 May 2026 10:20:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779099627; cv=none; b=YybbAai/pyjUv3YJMo1N+NvW0kOoGzgqy5X+fVNRyoLGlWL4uyjxAXtrx63zGl87GrazUoAw7rwmwhKQJ+gL32QRJ15BYYUitsg694aeJEH4ZXhm/Yz32oTAmGIXcpdEyOevTxdP8pXHIzONTlMVDhFuBOzOwQgkk7Jmjz0TtJU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779099627; c=relaxed/simple; bh=CQvticfdsarvsXA+X8ykiL2bbSsrA0oNGItSjQLRcEQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=krheDheW/8WR50NVX+DSrZasWR9pAIM9dj52y1+NkV9BZdMvfL9fHwDy8sIGgedytkb9RVV6ueirsUbVXK2q6n+ZvU3CIGUKMlKs1d+IRw8+vrKwWsfqGLz7YdmkH4YgBwq9Ao3RgLJ6TsdrHZyYxL9U4WNL0HuzvK3lhtK2sAc= 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=kwzcwoRv; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ZBPjtl2w; arc=none smtp.client-ip=205.220.168.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="kwzcwoRv"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ZBPjtl2w" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64I7e4eO2892697 for ; Mon, 18 May 2026 10:20:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=qcppdkim1; bh=YfzXx6MzZzfVkoAB6thCcd2iCfLOzKJ1zpy RgXzsCCU=; b=kwzcwoRvPwpNbL1VkDrsgXgDpwLXjzVj+zdFiNo8SYEfdAWm+WO m4uqcT8VQS0u40xpMMzWAzIp49PIMbPvX/rMJXBheJsmPn86ReyerFkUZGhw+dFy Jw8KgUKEASfJ1I0sgDdf/DkwTRMr0Wz+ze8qrFtjLi3yBThomi6ro8JTKbR0ewyT FKNZpPCcsCflBgLOOiSwtuq2CFy2sGvoWB14Pmt2hNyS41I6fwLtSxUnXub6pidZ /CeZcACAiRoq9KeYd9XS/5s6uAyeSMTCwHtq38E2kk01TkvxFQmL5oa/n3Mae33/ EZS2L8KB3nTJzIY0MNBmHTJKGDAmagsmhKg== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e7xk18p7q-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 18 May 2026 10:20:25 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-50faf575af4so61864361cf.0 for ; Mon, 18 May 2026 03:20:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779099624; x=1779704424; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=YfzXx6MzZzfVkoAB6thCcd2iCfLOzKJ1zpyRgXzsCCU=; b=ZBPjtl2wcU15a0lEhVf/fc3H8t9nKXAZpvoK5crv4SmUiTUpMaqNVF8wCRB0CpQUpn QzyUL/TwTyRvk+ZG64YV0pP+806+vqrtD/H6Cms6fsyNGY1tT3hoVYmBAs9oEWeOlOjz ADNzrdiU7XzchwqtJrRgciDYciZ641D9B0ISuVrrTwWaFI/XatkLUOlr1FFsI5At8AHw m/M+ZTaEWy4hmoddAuiPlcBQfqZyUliQCHe42b06+yTTe7W69hAazQrViXizUEp3inaY MINhf5nKIlb41E/HwXi3UgC9zJOssPDVWqMX6ob/o0sELt1gmQDzDKvARINcii5yZ2oh Ymkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779099624; x=1779704424; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=YfzXx6MzZzfVkoAB6thCcd2iCfLOzKJ1zpyRgXzsCCU=; b=GFTMMyx9g2SMroqLkOeurn21tuN3PFfbBu8X6wbmi/1CI5TEqdwgxv8mLkYTsAMMpz l6cO6myKorM2LRgMHKtqMS30GaqPgGq0rjbu8S3C5mFRp+MMQWEoglJoIwkzxSai92Lf LIjQ/e1c6uH9EA0TbktjxRwPd+GEPq7xNvwakXUchS7LG1Rd524Bb3xvYAlWlfxwh1Y/ TRS+MH85+qFJVMwrlDGblCZgaQlCQW5qsl8oAY+4G0WvCg8v5AYjrPWlQuxN4Wo14xK5 aqVnfardUbkBLH9R62kgZjUBPFh8ghkdtM1u7SGxBtl76g8BNGRT3xOEwj5vq5MtvVYv OvxA== X-Gm-Message-State: AOJu0YwTpC9mepR9d+Xszu6W8t+hoPLH5K/3B0AHksRXa8KTogW0roPl jEAPLjDAgcclpquobLfM6JX5p92PKTTO/ViTI791RD5oKaj30Q9CsPwgU+2KPGAt7lnH3qPEzhg kAvc2B/ExCTrgA40dK8Ri+G61IaLtp621QNzxGf0SEJ4j5jrvr0QXPXwptlXuCazBfnM= X-Gm-Gg: Acq92OFVyIJ0wGHgyeDsFxikiERi2f2u2sWkAhK0Ov9+WqCouCT2I3d1TjULzH7ESFz bEYMwQYdl2fVfGdV5H7AVWmlkoPAoq3S9ujdowC0E/CXmo30aU3cJJ2wrKVlmqHRYNaGpM0Zm1/ Xz1o9GTtmZx4PNkTyIGEfX1Fc1w8P5NAEcrxtPVIeE8tQpcY9FZCAW1Dw3kxbdajnyTPEOC3zA6 SFxPPGaGg2njHOQ5ryxy9Q+DVepR1Nqavb+j3k8ZF2PoHgSq9vy0CjeF4Ppfxy6hWBjvVGWdGuY msMaQ5NCS7xvd5nfrbr0r27ErD/RxnTvpn1eVcsYmNaEhM5FihcYPn9P+AMsgRM/n4YJjYb538K dBw5qeGkggAV0QCtO8BA/5Tv/p6qF66tz9M387LHe0k2Cs7x6AgmjH6FVFwg= X-Received: by 2002:a05:622a:1f97:b0:50e:5aed:caf3 with SMTP id d75a77b69052e-5165a002964mr205759581cf.9.1779099624454; Mon, 18 May 2026 03:20:24 -0700 (PDT) X-Received: by 2002:a05:622a:1f97:b0:50e:5aed:caf3 with SMTP id d75a77b69052e-5165a002964mr205759331cf.9.1779099624014; Mon, 18 May 2026 03:20:24 -0700 (PDT) Received: from brgl-qcom.home ([2a01:cb1d:dc:7e00:1337:b6d0:456:372c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48fe4c834besm251848605e9.3.2026.05.18.03.20.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 May 2026 03:20:23 -0700 (PDT) From: Bartosz Golaszewski To: Liam Girdwood , Mark Brown , Jon Hunter Cc: linux-kernel@vger.kernel.org, Bartosz Golaszewski Subject: [PATCH] regulator: core: lock device when calling device_is_bound() Date: Mon, 18 May 2026 12:20:15 +0200 Message-ID: <20260518102015.51704-1-bartosz.golaszewski@oss.qualcomm.com> X-Mailer: git-send-email 2.47.3 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: tRZfuYzHatWBUT8TD5wWuxPSLDFDzY28 X-Proofpoint-ORIG-GUID: tRZfuYzHatWBUT8TD5wWuxPSLDFDzY28 X-Authority-Analysis: v=2.4 cv=BICDalQG c=1 sm=1 tr=0 ts=6a0ae7e9 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=JMYG66KJ82SFOTECXXwA:9 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE4MDA5OCBTYWx0ZWRfX1JMKb1mg7ztM T3hUMRRllc5Yo9dXXe+XXCe4jW+UZjnwHpJGiInNT8KEtM7LTTrs1Q7j5/eTNRLuV+VjgYw6UR2 ICMqjwqm+DE6q5wnCxkqNp1tCULlvMTgzhk+q+JLoZ3tSp8bACWkljo8IojVJxDPNFpr+En+jNJ 4KM858a2s1IOCdV4GjDxq4fGcFBw+uIzdFBgvVm0zujtoixExx6bXct683uGKg0lNyGaHw/aA// cRFohDhvr3dZnVVJKSPK7BLuCn4/Tg/7A/txLbVYwCbbKwxAxqGQsYyP7j24FxdXp2F23PrhbSR MHGf0zhFv3bFj0Vdz7L+hRzUIdZwoTzpysj5QUskqMfHqE2xAmJF6mzv2rn/K2nYkAGtkp/wS/l wV/MAj78ArujPgL1YB4LYbVKFLGEwjKqwtlslCwSAywp80SSPeIBLRbDOmM6D3jUa19iU4PWhcj C5XZoD66CxBfF8RpnYw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-18_02,2026-05-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 spamscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 priorityscore=1501 impostorscore=0 phishscore=0 clxscore=1015 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605180098 Content-Type: text/plain; charset="utf-8" device_is_bound() must be called with the device lock taken. Add missing synchronization in regulator_resolve_supply(). Fixes: 66d228a2bf03 ("regulator: core: Don't use regulators as supplies unt= il the parent is bound") Signed-off-by: Bartosz Golaszewski --- drivers/regulator/core.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index dc5d67767336..1274a1ff8e17 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -2240,10 +2240,12 @@ static int regulator_resolve_supply(struct regulato= r_dev *rdev) * device get probe deferred and unregisters the supply. */ if (r->dev.parent && r->dev.parent !=3D rdev->dev.parent) { - if (!device_is_bound(r->dev.parent)) { - put_device(&r->dev); - ret =3D -EPROBE_DEFER; - goto out; + scoped_guard(device, r->dev.parent) { + if (!device_is_bound(r->dev.parent)) { + put_device(&r->dev); + ret =3D -EPROBE_DEFER; + goto out; + } } } =20 --=20 2.47.3