From nobody Wed Apr 1 09:00:05 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 9D868361647 for ; Wed, 1 Apr 2026 03:22:51 +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=1775013773; cv=none; b=BHoS6alZi1wAvJwoLZysdZW+5wDsVkw7ipnDQo3ClH9CPk9sa5nlBOOGX80mjsnyVoLqxc0LurL1EMEVDOJtc1yhUSi9xgNptA6RCn38rObtCqpCgyLP07O3651R7z0BY4ay2MhO0fJOR7lPXScYwlfxrXFMLe0gBcUlI5KU37c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775013773; c=relaxed/simple; bh=lY2lCZgEYqxClbWM9V0f53j3uqFUVFNr9SxWISwJo00=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=W9rF6G9/5N939lCWXwt8FcinuV9JBM2BB7fpQgczdzGgmBIrJs1yW9qiRUQerJjfIGZJ/teccEEHfpftZMdseBhhkGzndUMY9qCy3TObGd+lzxfdwUnftIbWI4o8uJMzEFKrOulL1PX7LrIWoapvfvZX0KyCdz5UgiNk3U6SW+o= 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=hQ2cckUM; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bgyY3VZG; 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="hQ2cckUM"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bgyY3VZG" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63106BOo3926884 for ; Wed, 1 Apr 2026 03:22:51 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= U/S/7SAnJtVprqSH8/36zGYJ0LJVG/tIKEIEQ4Y7FyI=; b=hQ2cckUM5NHFeqJl 2Z+vszKWr1N42NOTw7Du3bmWJnF/tM0VvVkY1gjrII0Xba8B88HfQIYQyr0fNNow SymbHm0AlLWgh1itzI8iI6SJxBURszWQrWEDZbC5bGPj6sYhXu3lBtYnyKx22/H3 tgCOwOpTZLVxmLOJD5cStKtL6T5Wm/YEVzFf6pvZfZGzdavMwVzigxLDlKWe/yZg U2InjeTX4XoPfzdTZ5OV3Jm88glnnlJmwUEOBif56G3CXFW7SLzDM5oUQ7Wg1xzK gOiaaXBZfVdZwn/J73PgChxpOjhxXLqSrY5I6zG+OISRuOyvFxvkVbIPXnFSob7f tflbPw== Received: from mail-ot1-f70.google.com (mail-ot1-f70.google.com [209.85.210.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d8b934g24-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 01 Apr 2026 03:22:51 +0000 (GMT) Received: by mail-ot1-f70.google.com with SMTP id 46e09a7af769-7d73c71f9faso20612996a34.3 for ; Tue, 31 Mar 2026 20:22:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775013770; x=1775618570; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=U/S/7SAnJtVprqSH8/36zGYJ0LJVG/tIKEIEQ4Y7FyI=; b=bgyY3VZGe0Lp+uC4NiwPhjbq389nhll4g5l3b+kl4ERxegrHnH2PFW6UNftd+zhA8k 3Vb7hMAGgflmnopihPgrggEF0zCVEGL8zRBJangFqh5jQYUxqT13S97BGjKrpMIFSPhM nQRjC1ztrwuqNK7ECcvqLA9yqKBT7bv2WcXyG4unxElqOpB8RVfBV55UYYn+F+JDNtq1 CcoW+/cSn1SYdWa4g0EZm7kULKRj1snFV5K2S/3j65MB5fsl/4Z2w87AxJsPyPrWEgsW JddP4z5rm7Vwu9SAmFPOYL+Z+OuTtQElAgH43Roqapo2nE98ruj8M3sX2KJUJR3/8tfI uqeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775013770; x=1775618570; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=U/S/7SAnJtVprqSH8/36zGYJ0LJVG/tIKEIEQ4Y7FyI=; b=jW6+2UtG3kvk6GO9MQVVKEJ+qoe+D8C2OsRrdSBPwVRDmmaslOlmAoVCeDaC2of+t/ SPpuKOBkXFlH42oyezVUXvUTSBnT+FYaBqBE5l38UpJB41tpLJ6aUj/+FLAsMuQQINgu iNlnHAtL5+cFE8GIkWxY0LUDGcViexCaKBRCZBFFF2qRbG8NoCPvcbtLMy6aKDSJCxlf ub6dSybYUkhV0lsSQUgzcLkPXLQARXrtkDmbHICmY+7LUPlNL/63P0Ny7fNbDgm96fia oQ+l0f7rC2ZiSFU7/wj5Qh7gcHXheb98aKwcC12Jn1nr0nLdx3RakVfP/NtLG5yJUVox ONEA== X-Forwarded-Encrypted: i=1; AJvYcCVJnRmXv9obnNSF1WcaZubJlKL8zrOoqAl7UE8yJxORnTr8WLR9ATYE+7zlM7YqQquFIIXWpu/U1d2FPvo=@vger.kernel.org X-Gm-Message-State: AOJu0YwqwP8B2v+1uLHkWbjuSsmUxLz3Vyi6r9pnC+oJKXyfq8Iz+gbY v25Zqy2HFKc+LQezQRvG6p5F3DoAMPBv+nlOcRqfVKmktBHFXpMAFEHXlrG7931vNOvUpGN/ksk D+w8cu2MQqtwXlJRXfYTD8S9MYF5lyxDB2t9QCFGoEomcOYum14PMBA3kT8NW5Db1Y08= X-Gm-Gg: ATEYQzwaQeJ61ey0dePBstYiUv2ij33QXJ/AjPM/P8f2g/uV4mI/X1qKy5zeyNGSMN1 j1KEw3mvb5xL5C0nqbF54FTPcQEaNJxK8ZQIVXOaXTB6Pkx3/7X+oO81ohRWvUMF31Zbfb8H4uC gd4xhYxOpG4nWH0B4hV8gTE9kqkIimcy8NbjQO9zQPqZzKPPp+eDba5UTs1uxcduP0/DyTk/JCm lkfFU2/GS4FyONXOH2LcgpyVPqhTVjWg2jcs5PoYazO7PmmaZ8u9JG1rk+jQYDkznApVyX6B0H3 uXHCFWRVuOFjaEGIKqhsi/VxwgKUXZEPIjSV3fxg8wDZUnl5brbOzsdi7pS7cTdL12QKw0ZqIvd wKO6P01jIW7YMm+unOUEhIWHY5Q5L93gQsdT1z8+tGfM= X-Received: by 2002:a05:6830:4388:b0:7d7:f8ec:2144 with SMTP id 46e09a7af769-7db993bd8c4mr1361025a34.25.1775013770290; Tue, 31 Mar 2026 20:22:50 -0700 (PDT) X-Received: by 2002:a05:6830:4388:b0:7d7:f8ec:2144 with SMTP id 46e09a7af769-7db993bd8c4mr1361012a34.25.1775013769856; Tue, 31 Mar 2026 20:22:49 -0700 (PDT) Received: from [192.168.86.59] ([104.57.184.186]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7da0a336d73sm9589357a34.5.2026.03.31.20.22.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Mar 2026 20:22:49 -0700 (PDT) From: Bjorn Andersson Date: Tue, 31 Mar 2026 22:22:43 -0500 Subject: [PATCH v2 1/7] slimbus: qcom-ngd-ctrl: Fix up platform_driver registration Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260331-slim-ngd-dev-v2-1-9441e9c8420e@oss.qualcomm.com> References: <20260331-slim-ngd-dev-v2-0-9441e9c8420e@oss.qualcomm.com> In-Reply-To: <20260331-slim-ngd-dev-v2-0-9441e9c8420e@oss.qualcomm.com> To: Srinivas Kandagatla , Greg Kroah-Hartman , Vinod Koul , Krzysztof Kozlowski Cc: linux-arm-msm@vger.kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Andersson , stable@vger.kernel.org, Dmitry Baryshkov , Mukesh Ojha X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2828; i=bjorn.andersson@oss.qualcomm.com; h=from:subject:message-id; bh=lY2lCZgEYqxClbWM9V0f53j3uqFUVFNr9SxWISwJo00=; b=owEBgwJ8/ZANAwAKAQsfOT8Nma3FAcsmYgBpzI+HI5braeNn+8ivP5KxT3frvN/12UXOwqtNh qOin3ixctuJAkkEAAEKADMWIQQF3gPMXzXqTwlm1SULHzk/DZmtxQUCacyPhxUcYW5kZXJzc29u QGtlcm5lbC5vcmcACgkQCx85Pw2ZrcXHFQ//Ugc6fCvbILC0dWxHHM0huyMaPvZR5xCCVR7EpPD HQqlXVODRh3u9NCImfuqHhL8uBg2298+oeU8IrQ5QzhChIQJ0Lc0HFeVriAgSSUYkst6zGyffN0 xTNnhhry2YrE3rvk2PmpsT92ItVItbAuF5utffREsV78iGkClLWKHBs0Lx/k2/7bv4h0mvKEvp6 d4ZwwBFLgfThhvrRR6P0UW22iVZyoLcEYmZACKwpVyrjFPX1VBQioGIb2X9utQ5BYHPO8N5BidA 2oEkzuq9/OGx9WkyyikCI4qgWg4J6yHCgDIcsjugZ/vJ64dEu4wUaMc73ivckEXoGRjufxe+mQq XHvWFk9Aau64FxeVWtYhMBeDjUcXCcyML9vq2rbt2vWe+dCaNKVRwgeeVM9/6SzETqUM6hDytrJ sZ2vBozwdg+dbbHR204xbNndraQRa9jDsUq3uyTi++sktlceWck3iy0OVh+ApKdj5HPjIsdoKLX W6syp55gQHVN4+5Rbr1fW6GHHLgcKgJD1pAbbOnd4Qaeqtt2eMdYS8Suf4i91ipusrCOIcw+8cs Pa1f5qGplDF5pfzCnQagVWoENG/8Rahu1xrC+tQff9TNi7FnZgWCxkZ6vmTAD/vhlDN6j9YFsnJ UQd88PwlRQkJwBlGLUa/lfMTo1MQSMo0VOQ6oF+BzQJI= X-Developer-Key: i=bjorn.andersson@oss.qualcomm.com; a=openpgp; fpr=05DE03CC5F35EA4F0966D5250B1F393F0D99ADC5 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAxMDAyNCBTYWx0ZWRfX0XpObOBzdmtK n0rivaJ+0MAwdlgPHV5zI0Q4q+v1myQjv8nACHqYeBXS7XEGPqCSV/mTkXO2jaVNb3UDlSS1bwF /M6bzUuzGAUrP6Hrli0Go3MccWIV/p3ZW/BdmVayC6z3PBt9E8nC6D1p5+BHjdGfOeSdAYBa0vb ORY3T9vcWHsC6C99UcA1EAivN0bhccB1+5WgMs9iKz+sQRsHXcNHCjtpYqDq4rOydHKGi0roZDA 3cBEPsZa2OqZ5UndcGSSwzNaa+l7LO6rOWkj1/OhLQCIYHSumqZcprVlHGltOXF1H/tNcuC2NRA 6LzZUNBf4TqYpBFJrDvlHziuL26qp+8d/1mdyFObGk8HI71FKyLiY598eNwOl+lNBHay2m+XxVB DtuEA0Sj6VzWVjg0vRmHBENp53qW27AIYOElPyuXJbhjsh1J8gTJUAtUDa75kIuJVZXPZaROTsM ey8+HsFhBDgzAampYGg== X-Proofpoint-ORIG-GUID: cTevPCsA5PrL1ZJfym4PgpNvhZfun5jx X-Proofpoint-GUID: cTevPCsA5PrL1ZJfym4PgpNvhZfun5jx X-Authority-Analysis: v=2.4 cv=NLjYOk6g c=1 sm=1 tr=0 ts=69cc8f8b cx=c_pps a=7uPEO8VhqeOX8vTJ3z8K6Q==:117 a=DaeiM5VmU20ml6RIjrOvYw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=EWo_CA4GmUQ_SZ-sejQA:9 a=QEXdDO2ut3YA:10 a=EXS-LbY8YePsIyqnH6vw:22 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-04-01_01,2026-03-31_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 suspectscore=0 impostorscore=0 spamscore=0 phishscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 lowpriorityscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604010024 Device drivers should not invoke platform_driver_register()/unregister() in their probe and remove paths. They should further not rely on platform_driver_unregister() as their only means of "deleting" their child devices. Introduce a helper to unregister the child device and move the platform_driver_register()/unregister() to module_init()/exit(). Fixes: 917809e2280b ("slimbus: ngd: Add qcom SLIMBus NGD driver") Cc: stable@vger.kernel.org Reviewed-by: Dmitry Baryshkov Reviewed-by: Mukesh Ojha Signed-off-by: Bjorn Andersson --- drivers/slimbus/qcom-ngd-ctrl.c | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctr= l.c index 1ed6be6e85d2cfc0a2b65a5ae24f666de922c89d..b603b9337905438b6c9f5dbe800= e560c864d946d 100644 --- a/drivers/slimbus/qcom-ngd-ctrl.c +++ b/drivers/slimbus/qcom-ngd-ctrl.c @@ -1560,6 +1560,13 @@ static int of_qcom_slim_ngd_register(struct device *= parent, return -ENODEV; } =20 +static void qcom_slim_ngd_unregister(struct qcom_slim_ngd_ctrl *ctrl) +{ + struct qcom_slim_ngd *ngd =3D ctrl->ngd; + + platform_device_del(ngd->pdev); +} + static int qcom_slim_ngd_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; @@ -1662,7 +1669,6 @@ static int qcom_slim_ngd_ctrl_probe(struct platform_d= evice *pdev) goto err_pdr_lookup; } =20 - platform_driver_register(&qcom_slim_ngd_driver); return of_qcom_slim_ngd_register(dev, ctrl); =20 err_pdr_alloc: @@ -1676,7 +1682,9 @@ static int qcom_slim_ngd_ctrl_probe(struct platform_d= evice *pdev) =20 static void qcom_slim_ngd_ctrl_remove(struct platform_device *pdev) { - platform_driver_unregister(&qcom_slim_ngd_driver); + struct qcom_slim_ngd_ctrl *ctrl =3D platform_get_drvdata(pdev); + + qcom_slim_ngd_unregister(ctrl); } =20 static void qcom_slim_ngd_remove(struct platform_device *pdev) @@ -1752,6 +1760,28 @@ static struct platform_driver qcom_slim_ngd_driver = =3D { }, }; =20 -module_platform_driver(qcom_slim_ngd_ctrl_driver); +static int qcom_slim_ngd_init(void) +{ + int ret; + + ret =3D platform_driver_register(&qcom_slim_ngd_driver); + if (ret) + return ret; + + ret =3D platform_driver_register(&qcom_slim_ngd_ctrl_driver); + if (ret) + platform_driver_unregister(&qcom_slim_ngd_driver); + + return ret; +} + +static void qcom_slim_ngd_exit(void) +{ + platform_driver_unregister(&qcom_slim_ngd_ctrl_driver); + platform_driver_unregister(&qcom_slim_ngd_driver); +} + +module_init(qcom_slim_ngd_init); +module_exit(qcom_slim_ngd_exit); MODULE_LICENSE("GPL v2"); MODULE_DESCRIPTION("Qualcomm SLIMBus NGD controller"); --=20 2.51.0 From nobody Wed Apr 1 09:00:05 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 7D10F3793D2 for ; Wed, 1 Apr 2026 03:22:52 +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=1775013773; cv=none; b=AljGoJj+mTYHDhniBuebKPdOrXQwLjFwCC21z+OIaEl0oGp6ZckRsiEG8wfims7GLek8+/ZvbtHblFjgvOQlO7PJ5KjGyZs4W4r42imnmZattCB5171+gUFEvwHY4HhvvaSHSeJaRGyNLFKlOA5d/OJs5mFGH8WrtIATMiTgXBc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775013773; c=relaxed/simple; bh=kbO2y45sZLvpmthZIJJ25uuZUuk4g1h1zkNH/OFxXNI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CYvnCWAsuXGg1Vn6jEldOfE0av2p68Yk6/E2OfUgaVbQtCWMbaZ3q7wAzk+zKv0gc/YJPOnPrVwQK7CSLBxZZIuBDdmH775tw7yfJo1w0NZFPgAXGKu20ivBOaDHMT30IblqkVkL3BegCZFZOfFuvbyAXj0duammTn/7sBnnjAw= 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=UgpKi5hj; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=P7pYNvLA; 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="UgpKi5hj"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="P7pYNvLA" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6311WU2B3103964 for ; Wed, 1 Apr 2026 03:22:52 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= tHpnVx2Z9Jz5XG9zwKBPRDeKmDPN8MLUXTLxA+f8ELo=; b=UgpKi5hj5XnpTIwW 09tN4NN9tBeRUYtN7psQp2SmQ2w3WbWryMo3KSXeHqc9tFEDmAIAkS5wC6f9KodA 23/KoNCTvK1Bj/L9gV0Hgs8GGQraqVz8GhLP1sN1QaNwojcnLBHmRU0FTa24kE3l bkPUxiZN/qbdw7rh15lOH8+dAf/RF4W/PUiswKPNBnp6mFbdsjDZdvJ+BGUqcxwO NlLusYrwhPePa1AGcn7m19+sISz0bqnkNgX1ef9Ntmqc6tKfrmBQ6ZpWUa1EuoYs pzrU0V9y21ziqY/FmptbW0WQ8E/Dq5pBL/LAOwWPoQvoEWAc++LLmXJ0OESQOp3G XeBtgQ== Received: from mail-ot1-f69.google.com (mail-ot1-f69.google.com [209.85.210.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d8js226nv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 01 Apr 2026 03:22:51 +0000 (GMT) Received: by mail-ot1-f69.google.com with SMTP id 46e09a7af769-7d7efc5a904so23820896a34.3 for ; Tue, 31 Mar 2026 20:22:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775013771; x=1775618571; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=tHpnVx2Z9Jz5XG9zwKBPRDeKmDPN8MLUXTLxA+f8ELo=; b=P7pYNvLAtHft1LV3mPGqodqsfB5xnlsY44jqSKVI2l8MmL3qyokYdOuIjvZAlgrIzL EStqdENLVDsKBu9vQSnDXc7PXDBCg+ZMEoOweOyKcdJ/XxrKOIj8O+6S18AFrwUgXkPS ZSh6d+jWqUy3L9kuPeFYRL3AwPnwVe0IalhRReKSJpGkNd2stoh40FtjzYadGKe02y8f yxTuqJJuWn6GEX80ycGNETbWaXpFtTx/liNGrmNSf6ixQeLh9nmt7Y66zDTHVveihWhT oHFC6kRmRbBBcEaEewrIsweMQQGo/X56zLxa28C91lYOnrYTIihPjv1ns74jsK1DPizd K9sQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775013771; x=1775618571; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=tHpnVx2Z9Jz5XG9zwKBPRDeKmDPN8MLUXTLxA+f8ELo=; b=CcgD0knTfHDIlVU/BthaDZVjEOg2gDIPnxmBDsfGK2rVCsBy7QUASBNeoyqHa2Ym9O 3hz2SlPKKXf6IBNEDxobYp5Hgz7mQA69F7xq9VUlUYQ4R3Dwpk9sxh73IPKEud9Lh38P pG17opxJRuxIqOy1lNbZEJ7Wb4MP5atnL010vsocY0VJd4sgkFUSK47MKMquOM/jHDVu 5+hZut0DLjlpiAMP6TblJZ+9IVlIhI2WA9eERMn3DWIxcLukqcuzt44qGuZO0XhmLazK scnDu4FoBMU2gkVlQA+5d2B5Z4dMfETI92Fv/ZB2dzv70SGNmunFDZIKve4bMx+kC3pQ He2w== X-Forwarded-Encrypted: i=1; AJvYcCWwxexnnO1Fg7Vs2PNq9Nnvn3Dy/hBznuyNQ+K4ek+7rNkbtkb9x/qFjTcCuBHuGoEnwsXO+iyqYrMYPno=@vger.kernel.org X-Gm-Message-State: AOJu0Yz/dtCZ4gI1C7Bc6KFaYa/e47rSaLVVjIoHDx/KxPCLyMwgYRR4 tk1H4E9af9QnPrt3HO1H9t7/wwz3Ns8sY9m5cMmPA9whE1F8dgMvvSslPNUmlGiZ3VbP+IX6BbP 51At/zAdgKUopVF03BD+FhEvQX154sb2wtYK0NGJbobyzRfweioR6RT4X7KkThIf4Fy8= X-Gm-Gg: ATEYQzySlcDaC2jfQiaVLZerkiGmWzQp3pJWPdIYV8yl29qUC/SPfvAfOIVkIE8aJtm MQFMcp3vtvPEt4ZkLADElT0fEIAkrwgELoPVddgunYvinKV1Uh4wWBXSQVKFpr0Ee1YL/S8DJHL uY4Lz7fb8CM3TkeFJWzMHEnGRPmps5+eAlrgkBdHXRvccuSzTmceYRzYk6pf7VWc4nEDotH4gjX WQga+QfTYfwJihQiUBknlRiYGYyGayvGlz9ri7H9Qqxrtr637zAuOmR4TCz4iQKH3rBglK9iHNX dhfg3pYtmy0Of8Td4VkVXwxNEhtOlBRK71YfRHGFTs9obGzrVrksOhDCMNJdFHim9t2MzSS0WEy W1Ue2rYHW6+DDI5mdsvSRnLnCgcuwMfFpyf1gIE47uNw= X-Received: by 2002:a05:6830:7007:b0:7d9:c69e:ea27 with SMTP id 46e09a7af769-7db99410b8cmr1603166a34.32.1775013771020; Tue, 31 Mar 2026 20:22:51 -0700 (PDT) X-Received: by 2002:a05:6830:7007:b0:7d9:c69e:ea27 with SMTP id 46e09a7af769-7db99410b8cmr1603147a34.32.1775013770650; Tue, 31 Mar 2026 20:22:50 -0700 (PDT) Received: from [192.168.86.59] ([104.57.184.186]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7da0a336d73sm9589357a34.5.2026.03.31.20.22.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Mar 2026 20:22:50 -0700 (PDT) From: Bjorn Andersson Date: Tue, 31 Mar 2026 22:22:44 -0500 Subject: [PATCH v2 2/7] slimbus: qcom-ngd-ctrl: Fix probe error path ordering Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260331-slim-ngd-dev-v2-2-9441e9c8420e@oss.qualcomm.com> References: <20260331-slim-ngd-dev-v2-0-9441e9c8420e@oss.qualcomm.com> In-Reply-To: <20260331-slim-ngd-dev-v2-0-9441e9c8420e@oss.qualcomm.com> To: Srinivas Kandagatla , Greg Kroah-Hartman , Vinod Koul , Krzysztof Kozlowski Cc: linux-arm-msm@vger.kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Andersson , stable@vger.kernel.org, Dmitry Baryshkov , Mukesh Ojha X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1682; i=bjorn.andersson@oss.qualcomm.com; h=from:subject:message-id; bh=kbO2y45sZLvpmthZIJJ25uuZUuk4g1h1zkNH/OFxXNI=; b=owEBgwJ8/ZANAwAKAQsfOT8Nma3FAcsmYgBpzI+HXQ17eY/AysPOZgJT0P1HYQKYt0DlWxLJF OVWJFMx3dWJAkkEAAEKADMWIQQF3gPMXzXqTwlm1SULHzk/DZmtxQUCacyPhxUcYW5kZXJzc29u QGtlcm5lbC5vcmcACgkQCx85Pw2ZrcUs+A//TvwvmBOkN51ZzQcz1KmKpKI7R2PMtPeD8TcF1yK svc7GZTWr9qMoEtwHY+24dxJwBiAW/WQ3UYDnVbgF27vDT9GRAMaokU2dtbHcWcpY7So00PmaeN 3q61YNXYk0CuDz9OjWmmVrWeP4gJRxW/+YAe06xjXYIExfAG7gCZ0y0XySyIQ3MCPL2RFm85pK+ TXHT1lDQ3kUSCfkTkx/z6RFhThRBCEQ5n1DoJL0hVddEXucZcRCxGMx2Do7y3/RUU5DqfkEijWm 9LBacsd+VDQ040VfpIvZJbYGlU7gpjYi7u92WdeQ6dpjyb17FwYcXYSLVTI0eedhjRaq0qCFlyP SMpC6DBAzBfXiIwpYg7sHhaCO6o/ekGrCqVoz8/U8B9ihq3z8otjdEXBhQTssyAK0UJsNildjqq 3qegM8z6HdldAq4PmI2k/MtJRehEY8I1iUjFsFJA8hbp3fUoX0qYBvMp6dGbwAfkr5zhdXUGY/h nsXoJ11lqDwv5yDfFUStj04TlwT8IumK1dGw0L3aJpJeNkTfeQDNd1pR9dhZEX1X0pJ9EMHZjWN Mf8DNok4zikczGd2RvqIpfAhSN/uBq2Vw7004ez9Fgu5Xx0uMCCsGn+HIVZt97lPRB610XBMz9J Allu+ItNT1hBe6JLGmMII+r/JZ/pVNTsfJBQ+HvHEQK4= X-Developer-Key: i=bjorn.andersson@oss.qualcomm.com; a=openpgp; fpr=05DE03CC5F35EA4F0966D5250B1F393F0D99ADC5 X-Proofpoint-ORIG-GUID: 8k-WetnNGnyLAlRcEpNikW7lnkYva_RS X-Authority-Analysis: v=2.4 cv=XfqEDY55 c=1 sm=1 tr=0 ts=69cc8f8b cx=c_pps a=z9lCQkyTxNhZyzAvolXo/A==:117 a=DaeiM5VmU20ml6RIjrOvYw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=gyDl647GgXGSOFt2m_oA:9 a=QEXdDO2ut3YA:10 a=EyFUmsFV_t8cxB2kMr4A:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAxMDAyNCBTYWx0ZWRfX4e6HkWONlK8C Yd3nexhk1ceL1XdTYSSP7rSSbllAVRjEmowaqI2WY0rjI5VF1WLsSUn1/IZ5KTE3cy7TXRPYUlP kjn/uX4S6hGYUartnenBXVgsir6mViMcAdjQgx7Q3auCr0YMxP8y1lPkc/26qD157ZyYKfnuKEt gWBLe/ST+tLZHPb24/yVkVonT0jrK4lRiaOJPLb86LDGCK8+GHCKl0Oj3hINZvSQ77hbRkSHZmE 6v1TVkbbELspSJhzm4tcYlsiZZ1D/NAQgblaiHKZ9ffX+yCeHXYZSKbhH53/qp+rPoGf2j941Ac yWMUA+707+duAokkv6NL8R0nuJPqyPbSOJk/u7w4Hb9399gwAbo08LQawvznZxJ15n2mNNkz3CR ljLPLc/7ZndRxrMzO2tWVwloafPJZj0klydmPZUZF2IQfWJXsNmYoSngin7ydyX6GyKtT90Cuiw 8Sr0cymLaGcrZ+Cn0WA== X-Proofpoint-GUID: 8k-WetnNGnyLAlRcEpNikW7lnkYva_RS 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-04-01_01,2026-03-31_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 adultscore=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 clxscore=1015 bulkscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604010024 qcom_slim_ngd_ctrl_probe() first registers the SSR callback then allocates the PDR context, as such the error path needs to come in opposite order to allow us to unroll each step. Fixes: 16f14551d0df ("slimbus: qcom-ngd: cleanup in probe error path") Cc: stable@vger.kernel.org Reviewed-by: Dmitry Baryshkov Reviewed-by: Mukesh Ojha Signed-off-by: Bjorn Andersson --- drivers/slimbus/qcom-ngd-ctrl.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctr= l.c index b603b9337905438b6c9f5dbe800e560c864d946d..f26fe54b2ffb4bbfe6da6b71725= 7313536abf60f 100644 --- a/drivers/slimbus/qcom-ngd-ctrl.c +++ b/drivers/slimbus/qcom-ngd-ctrl.c @@ -1660,22 +1660,21 @@ static int qcom_slim_ngd_ctrl_probe(struct platform= _device *pdev) if (IS_ERR(ctrl->pdr)) { ret =3D dev_err_probe(dev, PTR_ERR(ctrl->pdr), "Failed to init PDR handle\n"); - goto err_pdr_alloc; + goto err_unregister_ssr; } =20 pds =3D pdr_add_lookup(ctrl->pdr, "avs/audio", "msm/adsp/audio_pd"); if (IS_ERR(pds) && PTR_ERR(pds) !=3D -EALREADY) { ret =3D dev_err_probe(dev, PTR_ERR(pds), "pdr add lookup failed\n"); - goto err_pdr_lookup; + goto err_pdr_release; } =20 return of_qcom_slim_ngd_register(dev, ctrl); =20 -err_pdr_alloc: - qcom_unregister_ssr_notifier(ctrl->notifier, &ctrl->nb); - -err_pdr_lookup: +err_pdr_release: pdr_handle_release(ctrl->pdr); +err_unregister_ssr: + qcom_unregister_ssr_notifier(ctrl->notifier, &ctrl->nb); =20 return ret; } --=20 2.51.0 From nobody Wed Apr 1 09:00:05 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 4A8B437E308 for ; Wed, 1 Apr 2026 03:22:53 +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=1775013776; cv=none; b=C21ETN4zzcA+uVbVruWWdRHw4XROg/VUvAPKXSDGPBp8J48bA2u9E39tLmAwjCRAoDLcQ3nlX+RJoHiVrMWEGRTYwlpVA8Vyx69gSoMFf2JlZIy8zO0AfSmLJeuT4OLUkl7r5KCd0f1HX7krBgG3t7dH//ur/85gZQnqzuyuG6M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775013776; c=relaxed/simple; bh=eh1pflsFy4i4xWuCJ3debJEBSGewUbDoQf1aW0vXPiQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=I9qj+paSeDqOjXuthXXojJsmSC1a1+jttS5wfDiVwsbjDgggfRa4uKgJ5mKFZPf6Tve/eZE0XL59ej5RSFgyz2nUXY6/dZaSZjPvFIjJxYAG44TYvmKCm5+gLwTAwWnCEu21BrGjZqclTDLo2RV+ly7K3qXa+zchRwZPij5XwEs= 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=R1oZZ4zc; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TPvkHnWE; 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="R1oZZ4zc"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TPvkHnWE" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6312It4Z1004316 for ; Wed, 1 Apr 2026 03:22:52 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= NeBiXiKM8mAXaG/h32EbZAyo0/+HNOhfKQaw4GQVIz0=; b=R1oZZ4zcgENv2srb SjTxEfcJMUYSe4XsmDipeJXQbykaifAQBQJO1parvpFtRtvSS2f2YEDdO32vgPIL uqROD+Afz5NIYn46/FNr0uSenVCjYYnL/atzLfJi2xHXTv8stJmkIZlxsDSxkqxX W29SbR0C6drJ+U5awUoCt/jeaucRqIkDjhqoDaLm+WF3TdmnHY2SXFil0MhO1eom bHv8ZGsJyxT2MCNMra/TujUARAK8phalNPLaAV6UUgK8t7Z9SqSt7HOYol87cXE0 bHP7iK71Yg7g2mId5KXp1VyaJ2pivIFAxcLM2V47L5oWu7MFRHadAlTpcMJpFgnM F9Tpuw== Received: from mail-ot1-f69.google.com (mail-ot1-f69.google.com [209.85.210.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d8tfjg6wh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 01 Apr 2026 03:22:52 +0000 (GMT) Received: by mail-ot1-f69.google.com with SMTP id 46e09a7af769-7d81042e8c1so25464969a34.3 for ; Tue, 31 Mar 2026 20:22:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775013772; x=1775618572; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=NeBiXiKM8mAXaG/h32EbZAyo0/+HNOhfKQaw4GQVIz0=; b=TPvkHnWEEiH/SEARC5B4XRHQtrmTEU/FPDByprl5Zqf1FfWNUNKfT/MQK5Tx4ljkq9 6y5s//dVJgqfma+pBgG0Hc5M1MUhENB4UfBWESNJOaAE3tnIradjIuJEnB/MVALW2nPw rTid0wKKWb96kHCxS9qDCN+n2+gUfOPF8fITKvyJEgCijPHIdliAUBqkDfNhO+lQebOk MY32qQ4zScDqTWkMm5mIL73AkGnDh9wh0kV+tSyYcb6e+SEixV1IEppcw8RlyBPLC+HA hxatf26XMcqPBJO39m5oNhY+d15Cnv05hPg6fBL3osZJiygEc8lTVxCNXa9zpmMw8izS rZww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775013772; x=1775618572; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=NeBiXiKM8mAXaG/h32EbZAyo0/+HNOhfKQaw4GQVIz0=; b=N5o10TyP7QZXtHl+uWPkf2GUMw+prMtnk7FI5EW9zNq+PFMrxFwv58vRDK3rfsXcba 9gYuR94WrS9XyJ4NmR5vbcPetbJ0VWw9K9Fkdg4Z1qTgnlKGL4i0YuR/tq0TYCp38E0l Gm01ON64/cwZZv/fNj0lNXLuTHgrkGRJolk1nsJP90z1y87U+t8vmp/ugG53qYsd+lNA frdHJPlmxB+YXUHP00HGtvXqqiwu8LxFN4WJJ/6Y7MoBaQHaffQc3bzXty4Xud1U6umv HEtgFqiYCMCA5HnBxLWV6wzI4mDyM+QJLG9oJxt/3d0n6uyIoSDV5/tqFTQFuS2Ctt6G xENA== X-Forwarded-Encrypted: i=1; AJvYcCW5V+ucvFMRIpjH8HivJha6e62zDKsHhlT4CoSwo9tYqIhtYU9jyEnSd8vfUESqVXGovwLTCYEyK4Atw78=@vger.kernel.org X-Gm-Message-State: AOJu0YzxtfsLQjJpS3fnx+GjVVNjHbctCogjRUt3nC5zE2ev2UhEQZJ6 tkjBybWL8Cc9sI1yKPCf7CyMRaIBBBcPU89ijFl7sgN2iDwEtFMFrPk1Fr83tfpdg4RVZrdsfB9 K3yuTLybdvE7x1XOoY4dj/CrvDdZvd8mToVrDY8Sds3eHMvscMiV35zC9E8ouREy3MO8= X-Gm-Gg: ATEYQzzU+ihgIwFImnD7Nfe4GrxReXOf94kd8pUihnxsjFy25EogIsik1AoIAZPxVW6 NkBLXRZBxw/l9srp3iKfnRC9FYJZkTeTJZYT3JXvBI2mV8jJRAGe5kZEzVdvJMI+h+2e/3sPzHq oZ4PHDomiVxS6RCO9tISfrPQCFplgV20xa2b6OfnoFSDmujH24RQUM65L4sRgY0YAhc7O4l19ci u/J9lfuiovOliJoCcwrA4c1/0dWYkgQdp8bWBM+27n54PWF29u8H0+wi3mKvEZWJ2EDKopODR5n c8r2Z6pm/KqPQuK4JO1k1nKUcd9VtsqIcOgtcEfSPlIMH6kQ9ifGJuVhoBhWz9ZXtn82YsCQsCw wYUCduZxwv3UMjVpVIhDxCnamQChoc9QOHuHXi4i/7UU= X-Received: by 2002:a05:6830:81ca:b0:7d7:d1f0:7493 with SMTP id 46e09a7af769-7db9934565amr1409201a34.18.1775013771748; Tue, 31 Mar 2026 20:22:51 -0700 (PDT) X-Received: by 2002:a05:6830:81ca:b0:7d7:d1f0:7493 with SMTP id 46e09a7af769-7db9934565amr1409191a34.18.1775013771358; Tue, 31 Mar 2026 20:22:51 -0700 (PDT) Received: from [192.168.86.59] ([104.57.184.186]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7da0a336d73sm9589357a34.5.2026.03.31.20.22.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Mar 2026 20:22:51 -0700 (PDT) From: Bjorn Andersson Date: Tue, 31 Mar 2026 22:22:45 -0500 Subject: [PATCH v2 3/7] slimbus: qcom-ngd-ctrl: Correct PDR and SSR cleanup ownership Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260331-slim-ngd-dev-v2-3-9441e9c8420e@oss.qualcomm.com> References: <20260331-slim-ngd-dev-v2-0-9441e9c8420e@oss.qualcomm.com> In-Reply-To: <20260331-slim-ngd-dev-v2-0-9441e9c8420e@oss.qualcomm.com> To: Srinivas Kandagatla , Greg Kroah-Hartman , Vinod Koul , Krzysztof Kozlowski Cc: linux-arm-msm@vger.kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Andersson , stable@vger.kernel.org, Dmitry Baryshkov , Mukesh Ojha X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1608; i=bjorn.andersson@oss.qualcomm.com; h=from:subject:message-id; bh=eh1pflsFy4i4xWuCJ3debJEBSGewUbDoQf1aW0vXPiQ=; b=owEBgwJ8/ZANAwAKAQsfOT8Nma3FAcsmYgBpzI+HEE+6zNK/v2yvG3jpdJVZIL2zvWuS+H9Ov Hg0ELibHk2JAkkEAAEKADMWIQQF3gPMXzXqTwlm1SULHzk/DZmtxQUCacyPhxUcYW5kZXJzc29u QGtlcm5lbC5vcmcACgkQCx85Pw2ZrcXF0A/+ORqUdaF7mRoNlZKgJfhlryleRnQNlHgahS/+/E8 Zr1nuupkvYlUttbGyNne6kiNfcU0lXDEZkuFNz+VqvDc9FtVCTn1RpAdvTTHpa78rUEgXOp4vWV ZyDt/vyEYZu8J4brtB+Go72Ug2XJHDBuIi+htYSa5bBhLeUgV4VBq9NgFF/sGk+QIGyVkN4FH02 bbeKxHlMDWCWVY1W77it8/LVjExl8neJ/265ZtHB74mer8ojfXOM1dE1RpH5IM1QndktMseeKSm eOtbtTwlV3LVTH9oFj1azptmEyLZaIdPOGn5Wj6qezuoDz1WhgBp6bnAeQB5yxVFcjQbZHx/ILh mtO9Dl1bkps5m/bJOpQB5+Jdxmrpzy3bGcPx12pKonYj8K6QUIZFWkaVEyYc+vlKY1loHPdaVvE IORld5eusPmPCA8AKYrgdQFZhDJJL5TtFq17yucRt7v5E43HAx8lmmPUvALhBqW6otXGsJ4dOee HIV3Muq+gD7Pnau+rTNNqoDU3iQYIjmX965ShihiFeG4GUeiFr8TIf9WYb6oCIAAv2foq4tNv7+ QEdkPMSAWCAjpffwnoIt+76tRvG4X5RvCFLG91V4qQiqv1l2d0xH93d3nBgqERxIBrZcoIMEK5X ZNVJqnwY372Jdu99LcI5kCRku0qqNvDJa2kaH6KBmikw= X-Developer-Key: i=bjorn.andersson@oss.qualcomm.com; a=openpgp; fpr=05DE03CC5F35EA4F0966D5250B1F393F0D99ADC5 X-Proofpoint-GUID: xHNEFcyMbSiMXJdGeHGmwpQpLNSNHRRE X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAxMDAyNCBTYWx0ZWRfX3W2DwvZaTfEB wVBJY5L7atT2J1LLmJdkZmgCRyXE5LBh2HMy9rcyjxP7BVXswZfSMV7Qxravudt+vE6SqZUwRQu atQYC9t/CxVGhARnYSTeNzr0vCZ/67dXw0CyzKbTbTSxI3CrkuBmgP8uSsuM2k9l26fEHBu3ey7 mhpj3GxDEDHYKfP/zirltc81z0CevGe6Q30HUozKM6LK9nWPq9e5yU2O9sLdBpKIrBzGDEG3271 SQw+1cWQFRZz2KI8lEU7734Z3R3s+O6sriQE29jCbKmZqGjWCw/feDLYBTh5YccV0g0BpUKRNjt 7MJYO/hKJ1AUgC3NBuFtLEvYIPcEVB1HH0vmkGpaQCrP/zJcrYTdAfB2D1h2+pNnPkrklZcNQOn FCbgO0vd47yuw3PExIFfMgWxR6n6vstjfAfWnrBqcv4tKXGm/Ht2nIFJTLN3TlTKPWtsCiab5s1 3Ay4Uze1iFtfbWhaL7A== X-Authority-Analysis: v=2.4 cv=fJc0HJae c=1 sm=1 tr=0 ts=69cc8f8c cx=c_pps a=z9lCQkyTxNhZyzAvolXo/A==:117 a=DaeiM5VmU20ml6RIjrOvYw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=gyDl647GgXGSOFt2m_oA:9 a=QEXdDO2ut3YA:10 a=EyFUmsFV_t8cxB2kMr4A:22 X-Proofpoint-ORIG-GUID: xHNEFcyMbSiMXJdGeHGmwpQpLNSNHRRE 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-04-01_01,2026-03-31_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 suspectscore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 spamscore=0 clxscore=1015 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604010024 PDR and SSR callbacks are registred from the controller probe function, but currently released from the child device's remove function. The remove() function should only be unwinding what was done in the same device's probe() function. Fixes: 917809e2280b ("slimbus: ngd: Add qcom SLIMBus NGD driver") Cc: stable@vger.kernel.org Reviewed-by: Dmitry Baryshkov Reviewed-by: Mukesh Ojha Signed-off-by: Bjorn Andersson --- drivers/slimbus/qcom-ngd-ctrl.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctr= l.c index f26fe54b2ffb4bbfe6da6b717257313536abf60f..fd533d5bceb6d7352e8ac6fdce3= 21d3acc285f1e 100644 --- a/drivers/slimbus/qcom-ngd-ctrl.c +++ b/drivers/slimbus/qcom-ngd-ctrl.c @@ -1683,6 +1683,9 @@ static void qcom_slim_ngd_ctrl_remove(struct platform= _device *pdev) { struct qcom_slim_ngd_ctrl *ctrl =3D platform_get_drvdata(pdev); =20 + pdr_handle_release(ctrl->pdr); + qcom_unregister_ssr_notifier(ctrl->notifier, &ctrl->nb); + qcom_slim_ngd_unregister(ctrl); } =20 @@ -1691,8 +1694,6 @@ static void qcom_slim_ngd_remove(struct platform_devi= ce *pdev) struct qcom_slim_ngd_ctrl *ctrl =3D platform_get_drvdata(pdev); =20 pm_runtime_disable(&pdev->dev); - pdr_handle_release(ctrl->pdr); - qcom_unregister_ssr_notifier(ctrl->notifier, &ctrl->nb); qcom_slim_ngd_enable(ctrl, false); qcom_slim_ngd_exit_dma(ctrl); qcom_slim_ngd_qmi_svc_event_deinit(&ctrl->qmi); --=20 2.51.0 From nobody Wed Apr 1 09:00:05 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 0F98937F8C5 for ; Wed, 1 Apr 2026 03:22:54 +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=1775013776; cv=none; b=WhSRTjMORcnV0E9JUd0w2AcSknbTL7ZObAAImbDDYZLYctvFOAIFH8NAfKsSB0kfYTdSromaVnbHUtp6GMB61DHt4Bgr5P3eC4Co76u7ta9HQRRJ6JNFAayAS3zde/mNu6c7eMeKy+QYJP7LBLqbRu61nKp+wBG7UxyK4d1gQkw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775013776; c=relaxed/simple; bh=3orZ/lm59tquC+ygmtUkOAAIap6T40OPZUvH9QyqCTQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tDAfJrAoAUZRVPdKsBt9fV/u+auv0z/Bg1JfMncedkcK35/GSVtVZkwZf6Q9v0GT8F73aiimU58tkRmJgtxzPdEVcWO8Du8Viw2SxVaAO87ZzS2PJG6w1U8qdzjQzYzz70ZBgtBttcJUIWDylUBGqZlYMboLhGZtQ+XCdJ7wXwE= 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=HhTWvBho; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EZEEJZsG; 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="HhTWvBho"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EZEEJZsG" 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 62VMnKx9639248 for ; Wed, 1 Apr 2026 03:22:53 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= ZkCqUsFz1Dz2jHRMWPeXASCiKv0dntlxkvx4wplkgQ4=; b=HhTWvBhoCDLOguV7 Je3OwjhxUGyPJVJ619D39NFHv4/r201OFZhIwDwO59gd9qO+UJMcweoTiMbd2w5L JOo4zmj1LxZsTp4FeMNLEsJrjEuYniuulIM9bzc3eJISKWgfFFn4ruTMsx3xDvNu i21JNRQtNWLo3rOkjc4PHDuZPo8YbMPTLUdMRruQAxMQnyA07QSHtXKfigtGh5Mw bnZV+V1+puXoMJGp72fc9RL6fJtY/s5Q5eqHWFlOlgD5XIxiUQNuzaDk1tW2y4Ma aPnDkGDXqTYNB5bPdlsYIJ8ThURGkovKElzx/nLYdryM1O/r3lWgP6hgIwrCeTeR /A6T8Q== Received: from mail-ot1-f72.google.com (mail-ot1-f72.google.com [209.85.210.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d8g2au1aa-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 01 Apr 2026 03:22:53 +0000 (GMT) Received: by mail-ot1-f72.google.com with SMTP id 46e09a7af769-7d7e610d5dfso27539650a34.1 for ; Tue, 31 Mar 2026 20:22:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775013773; x=1775618573; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ZkCqUsFz1Dz2jHRMWPeXASCiKv0dntlxkvx4wplkgQ4=; b=EZEEJZsGNEVVe0SyC2lN3n9yolPLA66AxXXZUK3eCvQm6YRErBjZBSeFdc6i0N6mNZ X4HepPl8ll264Cixv5EBIKAbhNgb8zgEtDJwvIUYXb7k5WMagzHJcfrP8sIkgF3jk1sl 1Bc4tKjxqOQ2OhKMFeFmMzf/QRmrnfF1Bh/JUS5h+L4KEdMJG5o/DShGJ1Z0kgKkgKxy uujj3bcKB6SGIkPn0iFKY252DI8izfmUC32R8Z7HD9qWvXAMTma4ZGEoG1iDqTZrutVW D2PdeZaJ7NKdiN+HNjEQfVeFMwWcRB7c9APQ+oUwbQaDeVPII5yfeSWUyL27zD7Epf+w KAmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775013773; x=1775618573; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ZkCqUsFz1Dz2jHRMWPeXASCiKv0dntlxkvx4wplkgQ4=; b=RzpgY3DuQJMJJJJEx2I09PhSwwq0Vi8+ZrZZ81/uJhTwU02XlyVBjJGykHwMtJuVBB dtPhCMIwtchaO0remLMadJ501CmeKoLPrj56cQlk6pPpFDpgdqF2kQEcWBjfW77AMRlG J2x0YYkQ1HLMsmNeQ0XUAjFSeWzDG4Qjbyd86g5M31b61QF6pFWtzCG+g5ib7Q6Yol42 n/G3OA25QUNvH8Po7UuWYGSZMhz4Ud6sWDPf4zdMC6NaIYNvf6P6A/Dw5BtUXw4KA21R m7QPNK8AkMiloJaXkjgU0mCsGxcYQMVfDe13pryEKd16xgE40oY02uW/NDka9aRyl/VP xABA== X-Forwarded-Encrypted: i=1; AJvYcCW9hgo7//t/KyOvoZdLGEKG3ZtV5sZHwqKbqNBQIJJp5IjnHDKIR/ngXGy+geIKObrNmG8NnABkXh7E+Sk=@vger.kernel.org X-Gm-Message-State: AOJu0YxSdPDBCYyZrojqViaDrqOgFuamUxKNsqGef7AyrAGL/XFpl1eX KD+z8jncQWF6wQ/OsmLV0c8aDkLgN9ONHc8862LLXrFkRnRzh3ml01BIcSkvxbgZg4Cl97o9Rjz o/AyVKVtNw+nwyYBpRWgmXJCYhJLfBc/uiuBtHicGx80iQnUQr762e2YyyONkhMJJCAQ= X-Gm-Gg: ATEYQzwT8mx1sIsLc25G0qiOA7JjKELOCRu/j2VMtc7qVQd5p33mb5NRP6ZO4dwnmw8 LcSoz3IjFhL1t5tJDi0Xb5Qn76dnR3HuMbsgJ/BPBNPR2+fAPm+k6fK/hlM3Rw3iKk+dRz5NwPG ymYSK9EyilIVPBLyYbqd5ygdRIlhkmaohB12xQi0rImDwS3xW0GsXMUReF7ifcqAQbvOQTLkyyn 4fbtgGbP7D91WijtseE69+MNYGGEu+Eg+4RFeVybEBR+NiOqbrtGUxQfrWHsdWAmpnFfofyYS2s cY33+lKNx6CafvGGCx3HMYBpF/fiJkrkjfJ6QfVWIozODeJtbKkeCfH0KB2kZBjgVmYPIYH978M KJkcptkENjkueMl9nWFD7OQQ1hEBmWBvjqko6VGGsh5Y= X-Received: by 2002:a05:6830:67f6:b0:7d7:fba1:c767 with SMTP id 46e09a7af769-7db9942cec5mr1568053a34.32.1775013772583; Tue, 31 Mar 2026 20:22:52 -0700 (PDT) X-Received: by 2002:a05:6830:67f6:b0:7d7:fba1:c767 with SMTP id 46e09a7af769-7db9942cec5mr1568036a34.32.1775013772161; Tue, 31 Mar 2026 20:22:52 -0700 (PDT) Received: from [192.168.86.59] ([104.57.184.186]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7da0a336d73sm9589357a34.5.2026.03.31.20.22.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Mar 2026 20:22:51 -0700 (PDT) From: Bjorn Andersson Date: Tue, 31 Mar 2026 22:22:46 -0500 Subject: [PATCH v2 4/7] slimbus: qcom-ngd-ctrl: Register callbacks after creating the ngd Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260331-slim-ngd-dev-v2-4-9441e9c8420e@oss.qualcomm.com> References: <20260331-slim-ngd-dev-v2-0-9441e9c8420e@oss.qualcomm.com> In-Reply-To: <20260331-slim-ngd-dev-v2-0-9441e9c8420e@oss.qualcomm.com> To: Srinivas Kandagatla , Greg Kroah-Hartman , Vinod Koul , Krzysztof Kozlowski Cc: linux-arm-msm@vger.kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Andersson , stable@vger.kernel.org, Mukesh Ojha X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4485; i=bjorn.andersson@oss.qualcomm.com; h=from:subject:message-id; bh=3orZ/lm59tquC+ygmtUkOAAIap6T40OPZUvH9QyqCTQ=; b=owEBgwJ8/ZANAwAKAQsfOT8Nma3FAcsmYgBpzI+HmNUPOTo1sn40W7yxJTFOgbTsxGuXKHYLL HlPCOsGwwuJAkkEAAEKADMWIQQF3gPMXzXqTwlm1SULHzk/DZmtxQUCacyPhxUcYW5kZXJzc29u QGtlcm5lbC5vcmcACgkQCx85Pw2ZrcXQ0BAA37HQ/TFyVD3DFAFGSXaqTd6Qnyo6/U2CUPAW1in IaJ1EliXTGyscHOv9csdNj25IhVQXj+5WYdoSiODv/vGHolrhohhBRCAktrL+YbSRrcARYi23u0 QA7pNWG+D8MbEsgr4S9Kur5rDBrRXvs2mR0sOlMDaJfJHJE1IAmPKIxUWDaeTPQlP9ZU+BOOgfw RzsEEmT5NN30Q6zjttYNcKTECXB4TGbPOmWWFH/QwemGq07XEsruqCVtgdWrUmTgXPJR3tBsiOM p401WjRSYrmoL1BAJqnkHJuXV2sf+nkSS4x5RMWLaVz4Rwyu7i9kmAG4CJiBKepiC51qXlpCwHF hbPZLDLdZsgwgGGhLQ+bV2Th80R9CMpAXwXVoHVZ8c3EIyDq2eMMLQli1evZ86M0jEZyF7qz9XM M/6ElRAvH5BLs+eSdvZWMcD6Om70+/duQdd4GiEMpqiHBraincptzab3SAsxM8frwWUgU6kP45+ uG7ZHCVUvWkTH/DYRdkIAlWCipiIDVGgTFogbUcijlhnzxdpM/kHgVwW673DsSzL61h1KhAiZih gv8IvA7waVE/8V0fPiqacKD4J5B4quivq1F9NnUyG2pk1GcZIAuFIZAqjF3BnugCygb7Yd8ZVbe 97GMa7ZvDY6Q/ELs72ZI56LnLXtdY9deN9Dfvs3gHBXs= X-Developer-Key: i=bjorn.andersson@oss.qualcomm.com; a=openpgp; fpr=05DE03CC5F35EA4F0966D5250B1F393F0D99ADC5 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAxMDAyNCBTYWx0ZWRfX+IRxp8IUWUNJ uk5r6qnurTA9FFPpd4T+V6FaGGHLjpLoF5jLwwVuslTV5ZWWa2J66qPwRKLJxqNGMbJYsK4ZgYM j5kfbgl+8EeQ6PpLVa0xuEOSua7kGisOdscfC+igHe4ZwRK1TjI8wTvLWw+zlzZNiR6gg7oEazD owizS2p/c18m77+5/pe3HmXUnuNSiRqIocyDFSEnj68SRqWlPCIjJRggSrKGBRJWUz5uWwfdHhO /m5QnMFEhAYU9OEhp5FFBRM+/OlzQbIRMzie6hCSLpp4wUuGXvi2UeyRFD9cqXWOl8GO0oH9wea sawovez8VBtDBeH5iOYhqfCnE+xZME92eGFBIPr04gnXaoaBNXiydAqfPu8y69yT676Fi21HxeA r/hqgDW6OyLSlV5AgHH8GouwRo9oQz4YbqfHzPKA7zFiQQqSa8EeibluFD2hsQbS7bkbGzh58PH Gjvlmbudz0sUxtWoLvw== X-Authority-Analysis: v=2.4 cv=G4ER0tk5 c=1 sm=1 tr=0 ts=69cc8f8d cx=c_pps a=+3WqYijBVYhDct2f5Fivkw==:117 a=DaeiM5VmU20ml6RIjrOvYw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=qvPh2VUuy8EyYpbUS7MA:9 a=QEXdDO2ut3YA:10 a=eYe2g0i6gJ5uXG_o6N4q:22 X-Proofpoint-GUID: upiAfMb29krBYWm9__Bj36kda2-uO20Z X-Proofpoint-ORIG-GUID: upiAfMb29krBYWm9__Bj36kda2-uO20Z 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-04-01_01,2026-03-31_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 adultscore=0 impostorscore=0 spamscore=0 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604010024 When the remoteproc starts in parallel with the NGD driver being probed, or the remoteproc is already up when the PDR lookup is being registered, or in the theoretical event that we get an interrupt from the hardware, these callbacks will operate on uninitialized data. This result in issues to boot the affected boards. One such example can be seen in the following fault, where qcom_slim_ngd_ssr_pdr_notify() schedules work on the NULL ngd_up_work. [ 21.858578] ------------[ cut here ]------------ [ 21.858745] WARNING: kernel/workqueue.c:2338 at __queue_work+0x5e0/0x790= , CPU#2: kworker/2:2/116 ... [ 21.859251] Call trace: [ 21.859255] __queue_work+0x5e0/0x790 (P) [ 21.859265] queue_work_on+0x6c/0xf0 [ 21.859273] qcom_slim_ngd_ssr_pdr_notify+0x110/0x150 [slim_qcom_ngd_ctr= l] [ 21.859304] qcom_slim_ngd_ssr_notify+0x24/0x40 [slim_qcom_ngd_ctrl] [ 21.859318] notifier_call_chain+0xa4/0x230 [ 21.859329] srcu_notifier_call_chain+0x64/0xb8 [ 21.859338] ssr_notify_start+0x40/0x78 [qcom_common] [ 21.859355] rproc_start+0x130/0x230 [ 21.859367] rproc_boot+0x3d4/0x518 ... Move the enablement of interrupts, and the registration of SSR and PDR until after the NGD device has been registered. This could be further refined by moving initialization to the control driver probe and by removing the platform driver model from the picture. Fixes: 917809e2280b ("slimbus: ngd: Add qcom SLIMBus NGD driver") Cc: stable@vger.kernel.org Reviewed-by: Mukesh Ojha Signed-off-by: Bjorn Andersson --- drivers/slimbus/qcom-ngd-ctrl.c | 45 ++++++++++++++++++++++++-------------= ---- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctr= l.c index fd533d5bceb6d7352e8ac6fdce321d3acc285f1e..814ecb01b575984f0951919bba0= b8ef4fc64a6dd 100644 --- a/drivers/slimbus/qcom-ngd-ctrl.c +++ b/drivers/slimbus/qcom-ngd-ctrl.c @@ -1609,6 +1609,7 @@ static int qcom_slim_ngd_ctrl_probe(struct platform_d= evice *pdev) { struct device *dev =3D &pdev->dev; struct qcom_slim_ngd_ctrl *ctrl; + int irq; int ret; struct pdr_service *pds; =20 @@ -1622,20 +1623,16 @@ static int qcom_slim_ngd_ctrl_probe(struct platform= _device *pdev) if (IS_ERR(ctrl->base)) return PTR_ERR(ctrl->base); =20 - ret =3D platform_get_irq(pdev, 0); - if (ret < 0) - return ret; + irq =3D platform_get_irq(pdev, 0); + if (irq < 0) + return irq; =20 - ret =3D devm_request_irq(dev, ret, qcom_slim_ngd_interrupt, - IRQF_TRIGGER_HIGH, "slim-ngd", ctrl); + ret =3D devm_request_irq(dev, irq, qcom_slim_ngd_interrupt, + IRQF_TRIGGER_HIGH | IRQF_NO_AUTOEN, + "slim-ngd", ctrl); if (ret) return dev_err_probe(&pdev->dev, ret, "request IRQ failed\n"); =20 - ctrl->nb.notifier_call =3D qcom_slim_ngd_ssr_notify; - ctrl->notifier =3D qcom_register_ssr_notifier("lpass", &ctrl->nb); - if (IS_ERR(ctrl->notifier)) - return PTR_ERR(ctrl->notifier); - ctrl->dev =3D dev; ctrl->framer.rootfreq =3D SLIM_ROOT_FREQ >> 3; ctrl->framer.superfreq =3D @@ -1657,24 +1654,34 @@ static int qcom_slim_ngd_ctrl_probe(struct platform= _device *pdev) init_completion(&ctrl->qmi_up); =20 ctrl->pdr =3D pdr_handle_alloc(slim_pd_status, ctrl); - if (IS_ERR(ctrl->pdr)) { - ret =3D dev_err_probe(dev, PTR_ERR(ctrl->pdr), - "Failed to init PDR handle\n"); - goto err_unregister_ssr; - } + if (IS_ERR(ctrl->pdr)) + return dev_err_probe(dev, PTR_ERR(ctrl->pdr), "Failed to init PDR handle= \n"); + + ret =3D of_qcom_slim_ngd_register(dev, ctrl); + if (ret) + goto err_pdr_release; =20 pds =3D pdr_add_lookup(ctrl->pdr, "avs/audio", "msm/adsp/audio_pd"); if (IS_ERR(pds) && PTR_ERR(pds) !=3D -EALREADY) { ret =3D dev_err_probe(dev, PTR_ERR(pds), "pdr add lookup failed\n"); - goto err_pdr_release; + goto err_unregister_ngd; + } + + ctrl->nb.notifier_call =3D qcom_slim_ngd_ssr_notify; + ctrl->notifier =3D qcom_register_ssr_notifier("lpass", &ctrl->nb); + if (IS_ERR(ctrl->notifier)) { + ret =3D PTR_ERR(ctrl->notifier); + goto err_unregister_ngd; } =20 - return of_qcom_slim_ngd_register(dev, ctrl); + enable_irq(irq); =20 + return 0; + +err_unregister_ngd: + qcom_slim_ngd_unregister(ctrl); err_pdr_release: pdr_handle_release(ctrl->pdr); -err_unregister_ssr: - qcom_unregister_ssr_notifier(ctrl->notifier, &ctrl->nb); =20 return ret; } --=20 2.51.0 From nobody Wed Apr 1 09:00:05 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 C312437FF6A for ; Wed, 1 Apr 2026 03:22:54 +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=1775013776; cv=none; b=eneQzm6tg1b9ZQPdnKO4b6bG6lAFs8U9oKblMFtvMlVmFfC/fp9tepE3vVrd/jJ6wjZ54rk9CngO4O7+5xzcqrGLxQ70I4JpNiuAAGHBWfOdVI36Rfi/nBIMpkBVWj1AWX8sssxYqvl1dCnXOBhXCxARsKuwu/l6cim7Iermvac= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775013776; c=relaxed/simple; bh=DOXwknPSO8kS4GpsjjcGsbygukGZn2mtQA+P9ZL0MF8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SSoorwD2GwmHi32m1KdXkKJg4AP6jFyGiONiWj8eQnOGdQdNP4HZSWkw/ICYCq2JGCiFfqNXvIWcmKOsl4b22QJqYyITnHs+nyVRctfBxJI/fmk2tiK/e5lSxXKR2S2utp63Lm4Ir81TjRL/+8xBcFYdcj1FgJEmPopY62o9kh4= 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=IMenfcoJ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Wb2sokfs; 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="IMenfcoJ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Wb2sokfs" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62VNX4R63926859 for ; Wed, 1 Apr 2026 03:22:54 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= 0LgrG8m60aHTZivb3eNUz5aOlnco6nMtQPs6zLRWeXY=; b=IMenfcoJIRapS2Qe n+yzj1cIsgVDqE5Y6C0Ul1kvm1Q4NSqZjsVHnwXFqc2uBuZIrz8/UsIurwxeBZ7J aunrBX09li/n/Ex9vTeY8bzvevNdhJ44EP2T3OLaub700i6DNEmOTXosVv49aKpY RkbMal4uM3osJN28zhxV2y/boFlIL3/DU732TzY46rbH2CvBzjnLW9Dk31ixd5Og 7E2Zn5E7jQK91xb7stuyVOY4W9XdBbWVZWYRvzQbyyNNsmN+8vah+NtgRbnYr/nt A9yeJ4kXUmvjGBH11zPZgHzIROXZzlDuDoPLYGmMCoSC0awT0cIHVWZAkLpBcXbc b8Vihw== Received: from mail-ot1-f71.google.com (mail-ot1-f71.google.com [209.85.210.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d8b934g2f-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 01 Apr 2026 03:22:54 +0000 (GMT) Received: by mail-ot1-f71.google.com with SMTP id 46e09a7af769-7d7e995a87cso27145996a34.1 for ; Tue, 31 Mar 2026 20:22:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775013773; x=1775618573; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=0LgrG8m60aHTZivb3eNUz5aOlnco6nMtQPs6zLRWeXY=; b=Wb2sokfsV9AG/8ErP1/plrRvU9a7MeSKj+7g3ngSsU94JLdfCbG74deGD5gvbprOIb o7fJ5SeAYvLiZOnU+ihqzjtVNlpn9Upg2WYux8jxpxPCYcC7/OWHPio2jjMi1sxs4ZHr 8PLN7UZLkcf+B39OaI/FzA5tnFC6OxmNdjuyrPc5bmm+WkhOb5WCCrDipgqayFHKPggE 47dF/bi8lIGqAjGzZQN9URnIptYq35f27E5W65eTz60EMam48651IS4bDjoxO/k7zkjj bs0ZwQjg7V+/2f9vzqSS7ipb2quVNTw0TaJzxf26L8lsx9w6yzwIqnkUgoJo/sOgpcFY viZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775013773; x=1775618573; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=0LgrG8m60aHTZivb3eNUz5aOlnco6nMtQPs6zLRWeXY=; b=n6nHjJDKI49l3MUs7aRbciKJnikAaPY82Y8SgJiycOAvrnxJLqaA4MMXEfCFOSKUbo rXAGBh8RToOmvBHdfk6lWGvsRDyJ0cnLWM/b6vf7eTixq3ecQxb0yYh936fgMpbFsLMh rL46HusCD/+qlM0XrXLkQbppRmV3Zmw5a0e4rmzFRca0PDTUQJHoavvMj/7Bku7CqvPF khZQN8vp5MmAirPf6qa5TOR+tpY+8s9hvmXDCsjGrUWF5gINnYyIaT0GSGsn+WYQ56SJ T6iM4WKAUCywIk/9d4DJeoLwlGa1PpYcKd4dq/1ZLDqb8RvzfbgevlTdQtqXwRvX7HM7 8jFw== X-Forwarded-Encrypted: i=1; AJvYcCWykZmVQuiQnd+RTqdO2Kcu22OweKeDWzxLL9To19G0UcD5Vl0VNVp5Be1PUSNv0ZCPtWw6/jR4o/pu+Rc=@vger.kernel.org X-Gm-Message-State: AOJu0Yy9Tq6jTyLVSmdBgqRc6QuYsNGEG0DTEOGK8pljdDW3BuEpTHwK GrY9Tgq4SxQ6YRI9hPJQGA938LDS6tlSnsLVbBUdrwheIanYT5Png0aYEZC3++6364Pdv2YidrJ Z1vZtS8MlaQ1tY3jhIKz/1MI20T5zV6YQZKZodytWAow9gn5dOdDzuMD/ULlLC2ZsTAU= X-Gm-Gg: ATEYQzxrewx/jgPjN8gdyWcyky11Mm5iavM3tmfMGWqHg9/Vl5z8e4FyYgtTLF7e8LP BACFfzmR/i/31v2BZm3+Ri6cqBss/IxTcHLIuHGec0r8LoRASTBWPgMf8AHiyy3s6nRfr0qDuWG d9/Sy42uy7EK7P+7O/PmzIJy6ptdQHvby3elvhUJoUw+5Mq7KXPXQ1d2KF3UX5boqyAByd2juzW EAkq2O/ClFAQBEg0qcGk8ERpoLhY5jau3MBl90yVuU9klteT3/BAQOSD3mCIZMSbeZNzubiIcPR yb7YCt7kti8nPhAFgCbgc5qxbWFxjwwwftIrK40tQ+81tdWDO/zvI4m7KgsRYAX/AOapL4PbM6h /A3kFqgCtU6jWFC1UvPkqBQtkPLlT5fPF01OjB35fXbg= X-Received: by 2002:a05:6830:368a:b0:7d7:cba0:8b75 with SMTP id 46e09a7af769-7db99400313mr1420044a34.32.1775013773365; Tue, 31 Mar 2026 20:22:53 -0700 (PDT) X-Received: by 2002:a05:6830:368a:b0:7d7:cba0:8b75 with SMTP id 46e09a7af769-7db99400313mr1420032a34.32.1775013772968; Tue, 31 Mar 2026 20:22:52 -0700 (PDT) Received: from [192.168.86.59] ([104.57.184.186]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7da0a336d73sm9589357a34.5.2026.03.31.20.22.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Mar 2026 20:22:52 -0700 (PDT) From: Bjorn Andersson Date: Tue, 31 Mar 2026 22:22:47 -0500 Subject: [PATCH v2 5/7] slimbus: qcom-ngd-ctrl: Initialize controller resources in controller Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260331-slim-ngd-dev-v2-5-9441e9c8420e@oss.qualcomm.com> References: <20260331-slim-ngd-dev-v2-0-9441e9c8420e@oss.qualcomm.com> In-Reply-To: <20260331-slim-ngd-dev-v2-0-9441e9c8420e@oss.qualcomm.com> To: Srinivas Kandagatla , Greg Kroah-Hartman , Vinod Koul , Krzysztof Kozlowski Cc: linux-arm-msm@vger.kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Andersson , stable@vger.kernel.org, Dmitry Baryshkov , Mukesh Ojha X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3643; i=bjorn.andersson@oss.qualcomm.com; h=from:subject:message-id; bh=DOXwknPSO8kS4GpsjjcGsbygukGZn2mtQA+P9ZL0MF8=; b=owEBgwJ8/ZANAwAKAQsfOT8Nma3FAcsmYgBpzI+HrkJvA/cP/LbBw1cuKuXWfEzmCGPwukqpw tjyQDNLDVCJAkkEAAEKADMWIQQF3gPMXzXqTwlm1SULHzk/DZmtxQUCacyPhxUcYW5kZXJzc29u QGtlcm5lbC5vcmcACgkQCx85Pw2ZrcXzhw/+Pj2aFY35QSvXe2eILSOyPrX3bhXmJo0jRoEqLG4 KU3avOXDVvik1F//HpJklEYX7lcGpfhgyBMcEXrnBiCtHqXHXrd/4NchdaaLPWfnKrYx7qTTj2F BhjGBmK8OUSHbgVzh41v5QteWh4X8XUOBvhdw8jACcqtZRDLdooKzan52iYzEnSKFtJDtIi3JLu 3h2VRNur9HRPt6SKOJ51nahfx/cQIy7JQNreHvny3Ee2aFQVvIXnzIoFfrCl1epwfdTdmA/eU3X G0XSmN8609KYyPFdh90ZwMiznaA2ZIHEECYZfLDngTuD+4tD35bYdhOXpJS1v5BjVwPkeTsjnNi enf4qSRnWn84iSzc4YEsd8SPqSi69jfgUo7CItciXzfXwUFqYyj8w81xEPnPJdevp3il7xatddP a14t3f7hC5+mzYw9ce4HrowQosVl5r7STF6JHiBA0Tkark9Y/2KLEjUaKhuLA9vkGZGOaf1tBpx aDduv/2Pr0EGJMd9AcZiEYIK5YzQmVFqP7oskAOA9l/Q0EpWRyLseejbwPJ5okwmFAhxrMZJrG5 QQFBc3i4FM4Tr2M9L6eFcMB4nxZ5TJViE6DEhy0ba5hzjQ7mwGvy25Q2kx/oygWsnThfoKdw83+ w4ElxsttFzlCp8db7MID7fYvsAVhnUfSHpVDBXdxKGwQ= X-Developer-Key: i=bjorn.andersson@oss.qualcomm.com; a=openpgp; fpr=05DE03CC5F35EA4F0966D5250B1F393F0D99ADC5 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAxMDAyNCBTYWx0ZWRfX4mXZljOy72bM ZFeL5aEUuX9JNtcAmnRY67iJl5PYYpeGHKzdFIMRI+93l93ke/kyfUNaV6x+QvAooesU4EmU2Xg tCGE9YyRGDYThTgoWwUwXiO8fWj1t6JUp70NfW9Eg2wyD5/LK2lhNqCKW7vVPvUqbQ4l6SlDBuZ jm21N0bt0sJWp6635cuYkmyOUMp7PuPDSpf0A4xc3eRNtmth9z87gBbXXPDyXamiUfccr8AcOME zqpj/E16eCTUjhc4ZEVYwCffVfc4Yfs5HyxXOa6MwdcPIcIJ+xvo0G0cW6bgKRecFpLTvAIozq6 zbf0kP1Gk/Wo3bug32QduzsUjMaanLBhkHZkpy2y1dWweCzS9M8/zKQd3Sy7l44XiHMz8FYVWQP r5wG3j4+CASamMiw1YgQgGccBAXWACFKYmg21l70HlHTXhFg+IXNS6r8JTLtKoTOrC2eZZrNLnI 6s5iqfrcCCzigNwPtHw== X-Proofpoint-ORIG-GUID: yXfMD-IOQRZgd0jym3vobr3LD1-f8_0d X-Proofpoint-GUID: yXfMD-IOQRZgd0jym3vobr3LD1-f8_0d X-Authority-Analysis: v=2.4 cv=NLjYOk6g c=1 sm=1 tr=0 ts=69cc8f8e cx=c_pps a=OI0sxtj7PyCX9F1bxD/puw==:117 a=DaeiM5VmU20ml6RIjrOvYw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=ZDM3EJ2L_4yozt0j5AIA:9 a=QEXdDO2ut3YA:10 a=Z1Yy7GAxqfX1iEi80vsk:22 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-04-01_01,2026-03-31_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 suspectscore=0 impostorscore=0 spamscore=0 phishscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 lowpriorityscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604010024 The work structs and work queue are controller resources, create and destroy them in the controller context. Creating them as part of the child device's probe path seems to be okay now that the controller's probe has been updated, but if for some reason the child does not probe successfully a SSR or PDR notification will schedule_work() on an uninitialized "ngd_up_work". Move the initialization of these controller resources to the controller probe function to avoid any issues, and to clarify the ownership. Fixes: 917809e2280b ("slimbus: ngd: Add qcom SLIMBus NGD driver") Cc: stable@vger.kernel.org Reviewed-by: Dmitry Baryshkov Reviewed-by: Mukesh Ojha Signed-off-by: Bjorn Andersson --- drivers/slimbus/qcom-ngd-ctrl.c | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctr= l.c index 814ecb01b575984f0951919bba0b8ef4fc64a6dd..ca5c1c00fad163c69672db3b37b= f225490e7fb96 100644 --- a/drivers/slimbus/qcom-ngd-ctrl.c +++ b/drivers/slimbus/qcom-ngd-ctrl.c @@ -1582,25 +1582,8 @@ static int qcom_slim_ngd_probe(struct platform_devic= e *pdev) pm_runtime_enable(dev); pm_runtime_get_noresume(dev); ret =3D qcom_slim_ngd_qmi_svc_event_init(ctrl); - if (ret) { + if (ret) dev_err(&pdev->dev, "QMI service registration failed:%d", ret); - return ret; - } - - INIT_WORK(&ctrl->m_work, qcom_slim_ngd_master_worker); - INIT_WORK(&ctrl->ngd_up_work, qcom_slim_ngd_up_worker); - ctrl->mwq =3D create_singlethread_workqueue("ngd_master"); - if (!ctrl->mwq) { - dev_err(&pdev->dev, "Failed to start master worker\n"); - ret =3D -ENOMEM; - goto wq_err; - } - - return 0; -wq_err: - qcom_slim_ngd_qmi_svc_event_deinit(&ctrl->qmi); - if (ctrl->mwq) - destroy_workqueue(ctrl->mwq); =20 return ret; } @@ -1653,9 +1636,18 @@ static int qcom_slim_ngd_ctrl_probe(struct platform_= device *pdev) init_completion(&ctrl->qmi.qmi_comp); init_completion(&ctrl->qmi_up); =20 + INIT_WORK(&ctrl->m_work, qcom_slim_ngd_master_worker); + INIT_WORK(&ctrl->ngd_up_work, qcom_slim_ngd_up_worker); + + ctrl->mwq =3D create_singlethread_workqueue("ngd_master"); + if (!ctrl->mwq) + return dev_err_probe(dev, -ENOMEM, "Failed to start master worker\n"); + ctrl->pdr =3D pdr_handle_alloc(slim_pd_status, ctrl); - if (IS_ERR(ctrl->pdr)) - return dev_err_probe(dev, PTR_ERR(ctrl->pdr), "Failed to init PDR handle= \n"); + if (IS_ERR(ctrl->pdr)) { + ret =3D dev_err_probe(dev, PTR_ERR(ctrl->pdr), "Failed to init PDR handl= e\n"); + goto err_destroy_mwq; + } =20 ret =3D of_qcom_slim_ngd_register(dev, ctrl); if (ret) @@ -1682,6 +1674,8 @@ static int qcom_slim_ngd_ctrl_probe(struct platform_d= evice *pdev) qcom_slim_ngd_unregister(ctrl); err_pdr_release: pdr_handle_release(ctrl->pdr); +err_destroy_mwq: + destroy_workqueue(ctrl->mwq); =20 return ret; } @@ -1694,6 +1688,8 @@ static void qcom_slim_ngd_ctrl_remove(struct platform= _device *pdev) qcom_unregister_ssr_notifier(ctrl->notifier, &ctrl->nb); =20 qcom_slim_ngd_unregister(ctrl); + + destroy_workqueue(ctrl->mwq); } =20 static void qcom_slim_ngd_remove(struct platform_device *pdev) @@ -1704,8 +1700,6 @@ static void qcom_slim_ngd_remove(struct platform_devi= ce *pdev) qcom_slim_ngd_enable(ctrl, false); qcom_slim_ngd_exit_dma(ctrl); qcom_slim_ngd_qmi_svc_event_deinit(&ctrl->qmi); - if (ctrl->mwq) - destroy_workqueue(ctrl->mwq); =20 kfree(ctrl->ngd); ctrl->ngd =3D NULL; --=20 2.51.0 From nobody Wed Apr 1 09:00:05 2026 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 D017237F016 for ; Wed, 1 Apr 2026 03:22:55 +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=1775013777; cv=none; b=gj5u5qkOaU4wuXoDIEHLngi8qGSBKmWd78a9Oo2rFiYO7dIUKwv6hdwoGdChdwQn43OwoRLVwLkZ5DzHKlmhEJnPvbLnsM7M4KAz4uDMutNSy2N68MQJF5sLQA37jpglKOrb1EjeWickrP9tGg5FhDsNLojRe30rFg5tHy2F0C8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775013777; c=relaxed/simple; bh=AgZTO6aRHtXsJJ51b58atkaG86Hg2Z74yGqzC8W+3Jg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KkEIKCE9VIWlvLo5pZ3mh0kNiCAa2X/71cd2iXLKIs97Tw9Sdw2BcEhIcd5MstWER2QSHZYoYlxSlmazVKr+cMWWlJbprO1YCFXwbOjkmhKlas/8e52uq3889HS750l3Gy/NeG200r03QYEuN+KvB8bVlLQ8+DlGSzq827Qinb4= 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=ntHbCXBR; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=PADReSqG; 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="ntHbCXBR"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="PADReSqG" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6312MQP9719339 for ; Wed, 1 Apr 2026 03:22:54 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= rWTWwYM0qBbQia5ARwsWFJuxCekBwDllIQfGmysiKb8=; b=ntHbCXBRicJ/yuzy h+BYAzKqPwC5vyQiJfVedgazbaOIkDll83ey1zj5rahoWJ2KNmiWL9jD+SnXpOiW OFRaHR7B57YZfuNcv3WZHERws9i44sk5ZooI9dTNURci+7+albZSFjkgVgcE0rEL vRD/OJFXSyeq8b8DNb0Zgx13Z2tSiFWoXNoglypS9q2LJUKEhvsyIAArYCzensx0 pOH8/Ew5xOkdjNpQRP9B4FgLI/QcOt/5oLQPvI1uiagB2q0aNcLBLAUGi8lKeyjz EWm1KzteaHRHxQTA8PiaFiq50URyLgcRGH7efBs3ftqJSw5flYKTFqiUmXOu1Z/U Nt8Nsg== Received: from mail-ot1-f69.google.com (mail-ot1-f69.google.com [209.85.210.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d8kcssw8r-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 01 Apr 2026 03:22:54 +0000 (GMT) Received: by mail-ot1-f69.google.com with SMTP id 46e09a7af769-7d9d3230cf8so1589451a34.1 for ; Tue, 31 Mar 2026 20:22:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775013774; x=1775618574; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=rWTWwYM0qBbQia5ARwsWFJuxCekBwDllIQfGmysiKb8=; b=PADReSqGzJiAqKwhCQUHyLkVaB2fJRUns+/vzcxRdPZxvJWdYoi7JSO/4gRhJ1jxLL L/wAgXrm0NG19Dj/JnjTsyvaoAGSlgoGKNg8UrKjZc/I1fISnZ0blwRetMG1Ic1TnKxO isDBinpgyNwTWFFxSlUlzJs+3iMHRAIrlm+jc1oIgBYuKprlTNsh8stWiUT57fkYhyo1 s0QUTF1uxqkBPzxkLK62jJN44Umn9TSyTf6smR6Uj1r5MgE6Q+WQ929dUIVEd7sLbME9 GfpXl6gzP6QUuxEiKpJ9ORFMjrAqCiGmld9MTTS3Wz5PTPAelMVX/B3w+tJDnvtg9qMb zZ1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775013774; x=1775618574; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=rWTWwYM0qBbQia5ARwsWFJuxCekBwDllIQfGmysiKb8=; b=La30EOwgpgrvIDnM/++874esWYiJi/AIq0RmwxiQmm4xsgbazy+qnI3LDHOxpXWzRu 3ZwBGVEcvwdSAPxmUM6bTmKg//nUP9eeluAyD2d0nwnHDgmb6QNadFA/K+rE6XloxHiV hjG5zqcWgYyanw/x37+WgshIMTiCyki/1EOzESGXNucf3E3PA1mYa7tmEC4J3UazlLwV /2Cb3Lm08qsFy2n8GHtwDfMc4t4GVNfpmA3aNUxTEiD5xw546FrTTr5A37+3tqG/Ts2A Luly2sr1dd/eXs2YmiqiG7JIf0Ft56+E4gQWhHucy3XSWmIxCNzqipd0oO0Se4KX3ENj jSeg== X-Forwarded-Encrypted: i=1; AJvYcCUZn0+JjRUsCVwneH6E+7VhnmSArhcvg9PNA6lbQ5pqZ48wheRmaZWjb6Gdxha1Y6Qb7Y+ACnMW1RqNusQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyF46579wSCsWpWxAHyIMhnmR4R9rlSkXGNhE5JQz7boDwk39I+ 3xDVVZ1RGJzxpBkOirVYFRGMe6MMcasS6i6QiyOazMxKNb/FPmQl+r8JvVgaaep6W+oGQVB/Nxh DxHa316qhzLRb6laI1aqj0ukhM0eEduTjC8doScH3V+oW6n7MR/XY9Z/3IRtvuD7Yw7k= X-Gm-Gg: ATEYQzzd8b8Wp4U+ZlKyZ8UmUb31Wlg/rQmkc+6miiiXqAt1Gf53JfjG35QNefHEICh F5t4Tk5mO2zk9jpwuyG2bh6lVsP/tVIMRGVFaCe+bsVa4fIxnBhN+F+lHt45SMebnF/3Gi2sbpX KNhI03KEHsTixYglmVcLt0N6Tv9p5Fe6oKCwKmyQAxjkGz2ch7yz05KRfVrgUt/AdmIyYBJdrpt 3pyS8rIcVRGcsOMPFKrzUBfWDuuQOEM7ayDYtAvGLeSwz4Uu2MPA1DztH8RVoGxEzIkA6QkwwEj F2L/5k5jQlRwR9Gdnub33DPEyjq82S/JcAGhCumGqiWZpFMsSBZsjGWPeRa8uCVbcwgWm4Uiabh TwsrlQjLIuApB64huib0eQXfYURsBeuJ/aA46TT1/Fug= X-Received: by 2002:a05:6830:1dba:b0:7d7:cc54:7792 with SMTP id 46e09a7af769-7da37502951mr2400269a34.8.1775013774143; Tue, 31 Mar 2026 20:22:54 -0700 (PDT) X-Received: by 2002:a05:6830:1dba:b0:7d7:cc54:7792 with SMTP id 46e09a7af769-7da37502951mr2400256a34.8.1775013773739; Tue, 31 Mar 2026 20:22:53 -0700 (PDT) Received: from [192.168.86.59] ([104.57.184.186]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7da0a336d73sm9589357a34.5.2026.03.31.20.22.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Mar 2026 20:22:53 -0700 (PDT) From: Bjorn Andersson Date: Tue, 31 Mar 2026 22:22:48 -0500 Subject: [PATCH v2 6/7] slimbus: qcom-ngd-ctrl: Balance pm_runtime enablement for NGD Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260331-slim-ngd-dev-v2-6-9441e9c8420e@oss.qualcomm.com> References: <20260331-slim-ngd-dev-v2-0-9441e9c8420e@oss.qualcomm.com> In-Reply-To: <20260331-slim-ngd-dev-v2-0-9441e9c8420e@oss.qualcomm.com> To: Srinivas Kandagatla , Greg Kroah-Hartman , Vinod Koul , Krzysztof Kozlowski Cc: linux-arm-msm@vger.kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Andersson , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1352; i=bjorn.andersson@oss.qualcomm.com; h=from:subject:message-id; bh=AgZTO6aRHtXsJJ51b58atkaG86Hg2Z74yGqzC8W+3Jg=; b=owEBgwJ8/ZANAwAKAQsfOT8Nma3FAcsmYgBpzI+HnIvfopxK1sVdpIf6pktTc98fDuKYqe472 mwdkDFj4eGJAkkEAAEKADMWIQQF3gPMXzXqTwlm1SULHzk/DZmtxQUCacyPhxUcYW5kZXJzc29u QGtlcm5lbC5vcmcACgkQCx85Pw2ZrcWrxQ/+J5oBrt0GAHEY+UjOAjVosP5R+jeQH94U0b5BBvI XoDvTouPhKNkvSXnCkGV+KDkiWdflE6Nayy70/2D6/V1XxeAQaDCIflu+jwEUwA6DMpqKP/3/nD Zo/FEtKjYiDh0kaSHQzi/uI8F9xC9TDGMihTMu24LsCzeOFoIFDZWZ63OBIlGBzmgS1D0HwKaPH tVi+7vOFCRvYrxj+5JkVyNsrqzj+uo3ai8choSmqwrEVEoPkXPKfZ4nHfxsfFwJpgftdK4MrQq/ kqazxv7Mkp2AYf7KzeTHbrAeQ7VL4RpXJXnKa3XU43SRVNgEf4AJPiZcwgS3dnzWpAtfds3kP1v ayuo+dzos8C37/2DRMTeSuxTLiqhCRlqm33huCP0Vs01Tz7Kly2CwtFbfh4BHT6kbEyXt/xuU7P nyqpLYTAadVjVYyb8rubfQs1BPw1MRyvmarnlQjMLuP9H838MwuKV44yH+fNfUi0y1O7vqoJw3o zq0PXbvY5rjRqGairqwyB5dAGiRyDs3rS2Iu4otaQ6jgKxhb0tLx44M0VzhXjLwC5dzDEp1Qj7Y PGQAQK4sQwxBmep0q5BNFONoLm//1OdtalmtJthHwzVo1nSvkJ4qEARLwg9ELcGigWDBxLlnZqJ gJAmbyYueat0Ly3SAByJhdA0fGHP6uXmHE6so00VD+WE= X-Developer-Key: i=bjorn.andersson@oss.qualcomm.com; a=openpgp; fpr=05DE03CC5F35EA4F0966D5250B1F393F0D99ADC5 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAxMDAyNCBTYWx0ZWRfX2UBMCXXpsXuB k82DcyQ9s1BlmmaIfW1oa6T53YfMo9Bbad9ZCmmojK8exinufz0IIwroewmw22x5KlI+eBbZt1K 2HNaIZqc6aL1pWjRMYRg0AShDpA+DFBUXHZZ1s2UwrC+KqSuDBuIv+BdJ4C2bYg8kg8RQB+ThQy 5VR4AHhnZP5+v51oPvBUKP+0qAkpEppX6B7NBxcNvjVXXRduICoLCesAQP5hUQBLslRhDkXVDRv THjpN5JnhmA/Mza9sWmjbC4Gy/vJq6x2whFuqNxuMB4BCMHxj9OSyaXNG0LmInmyV1w+fJ50mGN w+zIoQrHpmZAsYLUj4G7H7TtU9D1ud0ezRbiUbY/N4IbUcD6jQm8BL9jtqk3IDmtxeYrBJe/urg SZhzzypEK2JZoDdrnwJ6LOG2Tc0xrEg3C7TC5MVWPincArDZFP5TCQzcPQCkt1AgfxHCIAQ1USr Zh4oh6dA4oPDg9/HPQQ== X-Authority-Analysis: v=2.4 cv=KNlXzVFo c=1 sm=1 tr=0 ts=69cc8f8e cx=c_pps a=z9lCQkyTxNhZyzAvolXo/A==:117 a=DaeiM5VmU20ml6RIjrOvYw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=v7zRpcr-n2crOtZbBgkA:9 a=QEXdDO2ut3YA:10 a=EyFUmsFV_t8cxB2kMr4A:22 X-Proofpoint-ORIG-GUID: ocGlvVXSjmaYpvJccUuJ2g1DHidgL7fX X-Proofpoint-GUID: ocGlvVXSjmaYpvJccUuJ2g1DHidgL7fX 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-04-01_01,2026-03-31_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 lowpriorityscore=0 priorityscore=1501 adultscore=0 malwarescore=0 suspectscore=0 clxscore=1015 phishscore=0 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604010024 The pm_runtime_enable() and pm_runtime_use_autosuspend() calls are supposed to be balanced on exit, add these calls. Fixes: 917809e2280b ("slimbus: ngd: Add qcom SLIMBus NGD driver") Cc: stable@vger.kernel.org Signed-off-by: Bjorn Andersson --- drivers/slimbus/qcom-ngd-ctrl.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctr= l.c index ca5c1c00fad163c69672db3b37bf225490e7fb96..afd2171d3be2c4c19994e9ebedc= 63dedfba899e0 100644 --- a/drivers/slimbus/qcom-ngd-ctrl.c +++ b/drivers/slimbus/qcom-ngd-ctrl.c @@ -1582,8 +1582,11 @@ static int qcom_slim_ngd_probe(struct platform_devic= e *pdev) pm_runtime_enable(dev); pm_runtime_get_noresume(dev); ret =3D qcom_slim_ngd_qmi_svc_event_init(ctrl); - if (ret) + if (ret) { dev_err(&pdev->dev, "QMI service registration failed:%d", ret); + pm_runtime_dont_use_autosuspend(dev); + pm_runtime_disable(dev); + } =20 return ret; } @@ -1696,6 +1699,7 @@ static void qcom_slim_ngd_remove(struct platform_devi= ce *pdev) { struct qcom_slim_ngd_ctrl *ctrl =3D platform_get_drvdata(pdev); =20 + pm_runtime_dont_use_autosuspend(&pdev->dev); pm_runtime_disable(&pdev->dev); qcom_slim_ngd_enable(ctrl, false); qcom_slim_ngd_exit_dma(ctrl); --=20 2.51.0 From nobody Wed Apr 1 09:00:05 2026 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 B5B3A379996 for ; Wed, 1 Apr 2026 03:22:56 +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=1775013778; cv=none; b=V2276gSmPTjmCJDWTSet/ng3ZfSL2CFbt6VSeRLApd6JoZ8rHAkOO5aNEUolqYySp5SUwGbiBeb0yMaP8hwN8KHqAeZQ2gBbv97DW3ZCRKmI/KxIKFkUKTK+dxVogb15PJRu6EEDS26NJ2zGh2rOEj49Zud39qXIvxTl3FBsRO4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775013778; c=relaxed/simple; bh=AVfZaoV52Zemlz44iCWPkbWHnMtfye+5gx/LtrB8bIo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uWs7jXUnX2z29pXm6RIxmP5OG37zPe1O1brhx9LqmmgfmfPPBbYIz2QtIlj3jr0JVWOpa6i72AjD5oK/LAtU+Mb3AH1P108SngorjhNlgH4DphE/p0HBlxjFDhGqfluPg96ueFJfknZ/qZWFIYtp6VsMiShuhRuwpEr5xZU4Rio= 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=mFStLK6Y; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=i16h6giu; 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="mFStLK6Y"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="i16h6giu" 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 62VNqgBX3882824 for ; Wed, 1 Apr 2026 03:22:55 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= QUSpTEXIiQ76gomCYL360Rs09wMX852FIY4mdJ31vaA=; b=mFStLK6YZpAkBcxl vZAKaCHVDDDUo2KqBnrpZL7h7Qh5p2eaGVu8L9nIH0ydZJCDNfcbAPBPzTjPJ/fI wp7CfsKuDbdiTqBQ8XUsx8jgDWospq+IN5IAZzpVSUwLaJROZu42qSsAUnnQWwK6 p0UhjbezQtagxBUwDzPwgg8Xs2jtX9BAmiIAnwf65ODEIwfipBOtLyx1DvLJvWWS iBXGNwkfo1rKCvf4HvpO3ec06G7BX61/qU+3BDDYqG6mSYb68vrDhuee4Rfl41yX 4m2rM81D6w3lGGKwcKu4ccasDAF7KzJ40s8tLpJvVwB9I8f2x0uHIE2GgOMumHoe WRoD9w== Received: from mail-ot1-f70.google.com (mail-ot1-f70.google.com [209.85.210.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d89utcsxm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 01 Apr 2026 03:22:55 +0000 (GMT) Received: by mail-ot1-f70.google.com with SMTP id 46e09a7af769-7d742da766aso10978961a34.2 for ; Tue, 31 Mar 2026 20:22:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775013775; x=1775618575; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=QUSpTEXIiQ76gomCYL360Rs09wMX852FIY4mdJ31vaA=; b=i16h6giufxKlSsgvYNJ0vcrgMElenDZVZy2/j0QgU+82aMhI26XBI2//9opnPNinB/ o90EKVRy3VNeWD2P6YSNwPDy5PiPMG9LdpZxYE/pTZJSnAZgjih4xeMeBLHEMvW0uXYH gs31VGeCg9uSCOc3rrkN7peSwqkJOszjDyrJATgsXjZOAB7LH2xebh6epuXkla3nuNVB 0eGzljD4dtRoijDZX9WCHI3MzIqwiTuYT+y6ktZXl7Gd9QFDlplGJ2GavC224sTLnYj7 n4s4nGRH11UTFApM526M5j7Xaukx0/psCNvig0cAc23wmNkZ/lBX0zRo0sdXuRog9nJc U4LQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775013775; x=1775618575; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=QUSpTEXIiQ76gomCYL360Rs09wMX852FIY4mdJ31vaA=; b=pRsVGoE3V8qoIcCFD07y8/ciOeto3MHDw1ycMXDrs7UyWT9+oLlUyJzuy+XK9hxtR2 RZrxtsyFpuoQ5bHydsaDr5Up3Pss3W0QCAOzfdggPzicf/ixYTyk+zvIDy54B9cHv6ti nUmhxN94yaaUG4DhcVFqGjWsNkWk9aM+kZB5yUEY5CFcy9ZdF8T5WMWYpBdFaa8L6VvD oOYrtHNgsk8uaUDmGZQgR4YY3xqs9a6grGctdYWSDWkHuc9nPlYwfmBR30LQMU4l7EQi wbJUsUFUiw56Z8u3g4CyeSmaYOnQ5vl7YfCsPJU8L2ACPabqVG8n/4aK8be9BqYDDhAq ASUg== X-Forwarded-Encrypted: i=1; AJvYcCUI+zcFdsizogpwx0ER92sBvDlbY2ssH22wRbVw/dUYzYVO/JkWRWJbS5IGGfNPJMB3gNYVowyF+NeVsPc=@vger.kernel.org X-Gm-Message-State: AOJu0YzK0x1u61PQTSIbvQKukUjSBYCUNHcRUlyxERv2PcjxutR+Ylz9 NGKcW4lYUWjLfHS0n5UJbQbODpB30Mk3CWitFdb7Klrnw5+I2SctqB7lAz41mfcFuIQSziqU/FY jm/2pIXtg8kGtM40vc/jJkzyTiqrWyMcOPw9ahROL0AOKjFmETid4HDl+EKCLFDz0G+o= X-Gm-Gg: ATEYQzzl0d/9swVAeTfeFngRvvYelaPw4yIp+9ul+prKqZrWhQZRIfuV753L7ikk72Z bJywHdm92p6saSU4UfI2mBCJ47Vxm3+8Z1snsYqQIGk4AXlj7t7vrHzuOpjTyVwYItVmM85p9Xq rYhi2ZCrAA6JJ4FsDJ3ruiKJVZVAFeXq3TW7+XgyNe9FM9sKt/j/TT8RthL1WN6T4tQtnDMjfa7 A1347plxGP3QtQMfF1ds8Faz3MtxsfgWtIa7ATKNnOUJ/OE3IRBFjvwX2dgKg6yp1+Y1gES7L1x 81j8AT2ekIe+/coBMFdMqXddo5t5G/cxET+/wlJsX8YXPkw3HOOsXkVoZDmrnENpfZn/bMdYadv or5Dg2ViYYsfOuMG9dm6gnglQGdr07upJSiBOwNzmy/c= X-Received: by 2002:a05:6830:67ff:b0:7d9:71e7:abe5 with SMTP id 46e09a7af769-7db992c3b82mr1331217a34.10.1775013774939; Tue, 31 Mar 2026 20:22:54 -0700 (PDT) X-Received: by 2002:a05:6830:67ff:b0:7d9:71e7:abe5 with SMTP id 46e09a7af769-7db992c3b82mr1331203a34.10.1775013774544; Tue, 31 Mar 2026 20:22:54 -0700 (PDT) Received: from [192.168.86.59] ([104.57.184.186]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7da0a336d73sm9589357a34.5.2026.03.31.20.22.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Mar 2026 20:22:54 -0700 (PDT) From: Bjorn Andersson Date: Tue, 31 Mar 2026 22:22:49 -0500 Subject: [PATCH v2 7/7] slimbus: qcom-ngd-ctrl: Avoid ABBA on tx_lock/ctrl->lock Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260331-slim-ngd-dev-v2-7-9441e9c8420e@oss.qualcomm.com> References: <20260331-slim-ngd-dev-v2-0-9441e9c8420e@oss.qualcomm.com> In-Reply-To: <20260331-slim-ngd-dev-v2-0-9441e9c8420e@oss.qualcomm.com> To: Srinivas Kandagatla , Greg Kroah-Hartman , Vinod Koul , Krzysztof Kozlowski Cc: linux-arm-msm@vger.kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Andersson , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2713; i=bjorn.andersson@oss.qualcomm.com; h=from:subject:message-id; bh=AVfZaoV52Zemlz44iCWPkbWHnMtfye+5gx/LtrB8bIo=; b=owEBgwJ8/ZANAwAKAQsfOT8Nma3FAcsmYgBpzI+H/Bws0KM+n+XbFSKLsYTnO6VswLWPzloPV gLvZo49eTSJAkkEAAEKADMWIQQF3gPMXzXqTwlm1SULHzk/DZmtxQUCacyPhxUcYW5kZXJzc29u QGtlcm5lbC5vcmcACgkQCx85Pw2ZrcVRNw//fmBfRu70pAiuVZ50G5AIWNnCReWKbDWtfEGEZBZ QYC0FO449IE/SXGtkHQvt9FhvE8G35oyQEDamRF/SvdBfAEFvwUP0qzFfapue5S/NysSxIfWP3H FZnCUJxFJACrQ1fCOG809frFkdIQ99YkbE+cwKq4OjXdQBLMqz7AXkMxxIScUThi0MU5L4d2s/h zW8dpauQtGb7BiNuXrxDiIv4NCe3RRrY28NbGBipXSS+yMJFr5bjBWv4zKp47ij1xsSWeqacqHc npdPEveCZS+ziEEVcJabBGUrbtdr7v0rLslC7ggjTbu+CQzmxlQd6PtKga5+zQzzFWcoy1NS6tm lj5UR7SuC4IDlc7ZSOR1dW55H7BJJ1ViKjzkch5xc6AJOMs02pgRev8a4Zrsacv6Tu1VhQ4Z1HP QjCsX4KdOV2FGxblkaWeVv96oWdLZlVoCuv/mCvT/52FV7owru0XOZRax5LUdozIBv5R5px28El t1/A998UB5i7TtvhIcH9MTUbVoOeDhywlVtGsYto5zYwuR+mwWAMfV2yXAwnuWwEB9lTuNkmNUw EB4l7AQfCDFgv7uPPkVZuo1GLk63eRsC5IFC53SvITmdhEl+vqfDjga47ZrTeuSeZ70qcgM6pfr mMqZXrOu5BKN+xB0fZ2fTP+N1TaOw4mmXRm9fxO92qlU= X-Developer-Key: i=bjorn.andersson@oss.qualcomm.com; a=openpgp; fpr=05DE03CC5F35EA4F0966D5250B1F393F0D99ADC5 X-Proofpoint-ORIG-GUID: 8ISWw19VHt_o3ADcoVSb6W7JPkyLNE7F X-Authority-Analysis: v=2.4 cv=C5LkCAP+ c=1 sm=1 tr=0 ts=69cc8f8f cx=c_pps a=7uPEO8VhqeOX8vTJ3z8K6Q==:117 a=DaeiM5VmU20ml6RIjrOvYw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=YEP7kvCIQ0LacLc3HpEA:9 a=QEXdDO2ut3YA:10 a=EXS-LbY8YePsIyqnH6vw:22 X-Proofpoint-GUID: 8ISWw19VHt_o3ADcoVSb6W7JPkyLNE7F X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAxMDAyNCBTYWx0ZWRfXzj5pTYfWldqR KRQhDXqOL23nWTch1LLPiXK65htWcWKzH4icCKwbKvoR8eAfXRzjFQWQimi48rSjgbxsD5RIrJH lccVOlbFKf/ZE5LejUZQfh1nPU1mRsOo5HTQb9sLPCuy0oUq5GGhN4YEgfvKlUY6zMnaKGT6PD4 9hiaeWL4sV9z7Qu0xgJv2d+OLxzhnsQPsGuNpM/330y+6E8oNgCaDNBRniPtanS7ozbdrbrqNBW +ix2gKa/SSslbyFclpx8GihtHyogFcGJM4a1nBIQoV8A2syEwfuIlAmj2EIxtiZj8HExgHOmLR6 B9at4eJCUuCJu6p7hhcWlUTTMf/hXP41s2cZN5Vsx2Kv9Vl5QtbOjaxg2itwol+BE9fq/zc3izu /iawYqLS3rFuQgZxAWC24s1Q73YDU9elTqBLBPlFzcDQZDEyGuEYoYydapBXCtNLRfkfbBrTyKs /uuVTA5R8tpX6DAIRSA== 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-04-01_01,2026-03-31_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 clxscore=1015 malwarescore=0 bulkscore=0 suspectscore=0 lowpriorityscore=0 adultscore=0 phishscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604010024 During the SSR/PDR down notification the tx_lock is taken with the intent to provide synchronization with active DMA transfers. But during this period qcom_slim_ngd_down() is invoked, which ends up in slim_report_absent(), which takes the slim_controller lock. In multiple other codepaths these two locks are taken in the opposite order (i.e. slim_controller then tx_lock). The result is a lockdep splat, and a possible deadlock: rprocctl/449 is trying to acquire lock: ffff00009793e620 (&ctrl->lock){+.+.}-{4:4}, at: slim_report_absent (drive= rs/slimbus/core.c:322) slimbus but task is already holding lock: ffff00009793fb50 (&ctrl->tx_lock){+.+.}-{4:4}, at: qcom_slim_ngd_ssr_pdr_= notify (drivers/slimbus/qcom-ngd-ctrl.c:1475) slim_qcom_ngd_ctrl which lock already depends on the new lock. Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&ctrl->tx_lock); lock(&ctrl->lock); lock(&ctrl->tx_lock); lock(&ctrl->lock); The assumption is that the comment refers to the desire to not call qcom_slim_ngd_exit_dma() while we have an ongoing DMA TX transaction. But any such transaction is initiated and completed within a single qcom_slim_ngd_xfer_msg(). Prior to calling qcom_slim_ngd_exit_dma() the slim_controller is torn down, all child devices are notified that the slimbus is gone and the child devices are removed. Stop taking the tx_lock in qcom_slim_ngd_ssr_pdr_notify() to avoid the deadlock. Fixes: a899d324863a ("slimbus: qcom-ngd-ctrl: add Sub System Restart suppor= t") Cc: stable@vger.kernel.org Signed-off-by: Bjorn Andersson --- drivers/slimbus/qcom-ngd-ctrl.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctr= l.c index afd2171d3be2c4c19994e9ebedc63dedfba899e0..2ff4374a1e0ce5d3d8f9b074f19= fe77daeb79dae 100644 --- a/drivers/slimbus/qcom-ngd-ctrl.c +++ b/drivers/slimbus/qcom-ngd-ctrl.c @@ -1471,15 +1471,12 @@ static int qcom_slim_ngd_ssr_pdr_notify(struct qcom= _slim_ngd_ctrl *ctrl, switch (action) { case QCOM_SSR_BEFORE_SHUTDOWN: case SERVREG_SERVICE_STATE_DOWN: - /* Make sure the last dma xfer is finished */ - mutex_lock(&ctrl->tx_lock); if (ctrl->state !=3D QCOM_SLIM_NGD_CTRL_DOWN) { pm_runtime_get_noresume(ctrl->ctrl.dev); ctrl->state =3D QCOM_SLIM_NGD_CTRL_DOWN; qcom_slim_ngd_down(ctrl); qcom_slim_ngd_exit_dma(ctrl); } - mutex_unlock(&ctrl->tx_lock); break; case QCOM_SSR_AFTER_POWERUP: case SERVREG_SERVICE_STATE_UP: --=20 2.51.0