From nobody Sun Feb 8 18:44:15 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 43FB229D279 for ; Fri, 17 Oct 2025 08:56:23 +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=1760691385; cv=none; b=Ry948T00vCRVwUwoLv+tfN/TZSqx7WK5cxEDIBapsfYF2IGvQCJEMdFaZMS/WvRFYFf+1A+D/jw784L3hmiTnHhNz3FpHTiN8ikgC2gQmVY+WKg9EewYqs1682R8NNUowsv/PehWBFZ+Dc+r8IMRx0cCusq0QltlmPDK7U3D2Zk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760691385; c=relaxed/simple; bh=ENO3YSOfTnciWFB7PA21ZeJ+n8gziqAO4GtBW3dwPPk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=B8oSrpr+ac5TGvoK7ECpq1Y7L2AqCuiAcqrlsOEI0uaqXZ5SVLj305DXYsb+AizoVND9+euRi9rnyn+HadWqY8lZwHJUMtkysYw8R2bPP8OJCjkKWxqW1uFP2tSy1AMv4RrJdBoyjCx45cuGQjbEL9CrsKD6UqUTg3I1r1XRT70= 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=SDgeaNcx; 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="SDgeaNcx" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59H8695m028652 for ; Fri, 17 Oct 2025 08:56:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=2qk5/cDXnMl tBmhvmLVh3pUHcYmEfXQKc8nHF57WqJ4=; b=SDgeaNcxQnseZaDUnIlewILulX1 e3ImkJv5NOHHSQxWYsdl4vaZtvuXLh0CHik8QqjWWgDWTlWiqJvKjmMFqyQTj8uL hj6A7dWvEm1JPhuI9YIy9czvFKSHi4jwePTo5Qy1XywqaVD02RFAkMffN3VHz+W/ fDlOEtq9TTlRFz3hMk5dvbhK3c24Mgkfoes2eG3bTZ4kw+MbfEuWZRCpwJ2r+eSf v4qjg32mGj7QyXrB4mANy0VCqt9MDOyeXjknhjwRPbG1VHYUYl4CfBBErUK+LXig nbcYb/qBA0vLEA75gz6OoWSWDYosJJ8S0tMsD2ZIUvBBkvPvQctauw4s2ZA== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49u1h0u715-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 17 Oct 2025 08:56:23 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-87c08308d26so59424776d6.1 for ; Fri, 17 Oct 2025 01:56:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760691382; x=1761296182; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2qk5/cDXnMltBmhvmLVh3pUHcYmEfXQKc8nHF57WqJ4=; b=ciya7rPlQOeatfu5MK6poRGeXVsyLnLKMLdRcZDmxHVzlEp8M8h26qGaYQa57/I1pX ny9iH3L2HNQB1TTJ8C4RCm3Nk5vWpAmGRYrwFw4Y7pUd+sM4AkLkgOLpyLnDkuv3NlSe RPt7i0x7egXbKNiC1dWwx0b0wcdhzsu5eNsEDL1bBxMjtT3L2y/r626A9xnr8mhZuAi1 4nxrwR3GC041S/5MNxqdxCPs/JSmJCxsJ8spipwiBUH2RHLcW913x1YZr1qTXjUTqgt0 jDqkQJtHHwyXmtdfujFLWqmJzRpGBLW0oNrPbJ+alkjwRqgoKsOVhBK3ihOMiSHlakYe cYiw== X-Forwarded-Encrypted: i=1; AJvYcCVG5WN3SsMVFwJTydwHJ1soTO8eQ4US1MiMnuH/L3q+67Cdvh0tkMYDiD3uEPevmgk8wLbzeMH0hF1geaE=@vger.kernel.org X-Gm-Message-State: AOJu0YxsGgRv7WMkrkRo5M/SPVJFGU9u3UyG7TlKpcfl24ivei6mWF3k +sSJcqCBqfV5yQNtZrca6WjHTTiyDPovCzp2mqPA+hgDf7t+z6He2zHYfirpMW2ntJt/Z0Or5Ps DP/rlvxceuIQKOPrxlYq0Xs4ELojYSGNCb1Wcwf7X80BLVamMjlHIfycjvsNUYAFH6z8= X-Gm-Gg: ASbGncsa7G8z+pukY4//JaZQfoOsRCuXQKL/ZV0lkcTZeyNtF0TtByhPMXS3JWSKhGj 4tJREEGmE/oUROVai7sFAIPOebfFk5S2e4RYUUHMiuOaS0Y1ZR41mpbUJ4FKnyhk3He+NB1d24J +oMvZhalJdtNY4LZ1BFJuTLovAWiOUepVZMwGrW9v/iX7sSxwy232R/LYC2zQ8oJQF5w2OPxDuv 4nPU6SHSOzIq2By9/Oe2qUOJS7QTgCi/9sKPAKs+nkbSHgH8ytnQbseiSDfLg88tXAUJzb/tPS0 v9Sl6FUvxi+BKVMm2fT7lWWv8005K77sU/4j5ZcCR2GpIY6EAZjR9POJljWBMMzph8l8CWmuCIs znamiJUScBzky X-Received: by 2002:a05:622a:310:b0:4e8:9c58:3282 with SMTP id d75a77b69052e-4e89d28b3cfmr45995021cf.29.1760691382167; Fri, 17 Oct 2025 01:56:22 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGXmaWELNHeA4YfO9bK7KKaN2PbiUIZEHrtDSzzKi76qlVj6r6Tyv+8YGZWV56bOI27CdHbfA== X-Received: by 2002:a05:622a:310:b0:4e8:9c58:3282 with SMTP id d75a77b69052e-4e89d28b3cfmr45994871cf.29.1760691381758; Fri, 17 Oct 2025 01:56:21 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444d919sm70764985e9.14.2025.10.17.01.56.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 01:56:21 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, alexey.klimov@linaro.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla , Stable@vger.kernel.org Subject: [PATCH 01/12] ASoC: qdsp6: q6asm: do not sleep while atomic Date: Fri, 17 Oct 2025 09:52:56 +0100 Message-ID: <20251017085307.4325-2-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> 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-Authority-Analysis: v=2.4 cv=esXSD4pX c=1 sm=1 tr=0 ts=68f204b7 cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=cAUPnWn_dBUFebge008A:9 a=OIgjcC2v60KrkQgK7BGD:22 X-Proofpoint-GUID: CkM0He7xYbsgtM3WSBak2Avdc81d8nX8 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDE2MDA5OSBTYWx0ZWRfX6LM7RUzbTLBz tr+qrxGDmfiVTvDZfQapITCkMI8dV7x8fpNQvpj2WcyaPUc/9WOeN+k70GdApT+/BZbdO8Jkd0v h9xV68e/C/JFBDs5HCUuArlBtO1reOzZXE/gtN+diirKsQt8tD+yzjH3JRdoDNKmCm9ZhX1KXGB VNIOLcNjCxFXLevQDMJ5yzb3kA2N09gzaftQDEDX6GYCOXha4QIP59GppPsfpwIabSyKHg/puxW C0QERieC9nCLpXkbTQ3NXS2ZVr/mtGf1X3oLYZ5gb5k2IGInlgjSv3sdcnXnWjnamBM95DCnP/b wuI2xqMLBOEpn2u3bawavJPydu2IxYbkW7q/qzRuIHdLuXmDx77CEQ+RX9Zt8+qttHMQKCgVyXK pbZdCSSRRYQtlXVgLqz16B72a3c34g== X-Proofpoint-ORIG-GUID: CkM0He7xYbsgtM3WSBak2Avdc81d8nX8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-17_03,2025-10-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0 impostorscore=0 bulkscore=0 spamscore=0 malwarescore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510160099 Content-Type: text/plain; charset="utf-8" For some reason we ended up kfree between spinlock lock and unlock, which can sleep. move the kfree out of spinlock section. Fixes: a2a5d30218fd ("ASoC: qdsp6: q6asm: Add support to memory map and unm= ap") Cc: Stable@vger.kernel.org Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6asm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/qcom/qdsp6/q6asm.c b/sound/soc/qcom/qdsp6/q6asm.c index 06a802f9dba5..67e9ca18883c 100644 --- a/sound/soc/qcom/qdsp6/q6asm.c +++ b/sound/soc/qcom/qdsp6/q6asm.c @@ -377,9 +377,9 @@ static void q6asm_audio_client_free_buf(struct audio_cl= ient *ac, =20 spin_lock_irqsave(&ac->lock, flags); port->num_periods =3D 0; + spin_unlock_irqrestore(&ac->lock, flags); kfree(port->buf); port->buf =3D NULL; - spin_unlock_irqrestore(&ac->lock, flags); } =20 /** --=20 2.51.0 From nobody Sun Feb 8 18:44:15 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 7342F2BDC3B for ; Fri, 17 Oct 2025 08:56:25 +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=1760691386; cv=none; b=HdgXCNfGS1KGbG07GzLstfoBtvyq6/u9czN7gv+QCmelI/zCgfr2aOj1yxGRueU/HyfYepy6iPd05qGEj4316cyxTRg9tJTJMWO+kaiyY15ormm7GYIIMVzbYszIwiRPkgBSFv3EO0KuPowKnm9aSBlf6ddGZ98E0kbiistzMLs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760691386; c=relaxed/simple; bh=a6vR3cZrsa8eEPprG6ADmXlyyk7ZVWqf4VY8FOiCsl0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VM07NDlPh5hEtjmbqYWHh+C4s90gdv9x+AvF0vsiUCaKQnebnu8+PEfuMSOkP3W7OoOml1RLbPs6OGJVdO2hHa/iwUlc3PCPYApeIvSUotXOP1HisXmWUQysjWsxW1HkJffn8gJz6mj1jYB0XlcfogLjMhixKOc2q/kthEmh3Wk= 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=mcFTw8Sg; 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="mcFTw8Sg" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59H7ctS1006536 for ; Fri, 17 Oct 2025 08:56:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=uJLxaLL+Ort xu6N92+2HUswlxaL+eZtDPgykkLQ+IQI=; b=mcFTw8SgbydUEAP+OHcucuJo7S8 gfzn+ouQ2X9GjeKbGSbsZ0Xalt1lrEhKkLbqxYcfu8IXkRKeycXKdLdcnHB0MhIv 4WGCZbgdoCokMuOx4Xzyycu3Qh9wb82XFe8PvDWoIuGFO/9yk38KyTpj9EqmN5yM 4P90jlY+XLwQOMhW7d6+1ADr2R/7Gp7dlvO4wsUmsQoUI8zYE4QsEtbyphs+vpwR mjTsuKhBO4jnecvMDjWj4zCDNSoarpYRtttLcRp+Gi5o/9LGGO3dGdYMwL2SYbk/ NKUX069vyZu4ZFTeGyaduldMBQwPgjeXbDvmQTot0sW6HfL2jbwSnqOqDXQ== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49qff13h34-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 17 Oct 2025 08:56:24 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-8741223accfso64022546d6.1 for ; Fri, 17 Oct 2025 01:56:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760691384; x=1761296184; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uJLxaLL+Ortxu6N92+2HUswlxaL+eZtDPgykkLQ+IQI=; b=hI11r2b/0bJ+xdoJM7HFGsQrPy2Pizd2JR2/NjEMm5F1hxw6l4KKU/NPvZOghk8nk4 YEsNwbdgunMwLG6aYNW1fNYK7PW28XXT6gVATpFmkG+Ix154p8fPY16NULo0dbny0ZYT TTLreK9xWubwLo/QKBgwvX9fdkEi98FP9r9JP0V+aW2WhZe2AVPn5J2udjxzRTgN7c0G iACFKON39tNnyvPyXzyzr5GMCS3NckQbZ4+FP+M5L9ny33mnPCPGao+3o+ZC5y4+r9qR ZyEHWRFbIlMchYVhNxXpRnN1zvFCIUmN4BIB+33NKmQaXSGSn55pCQZUDbcl28S4r5hP fuug== X-Forwarded-Encrypted: i=1; AJvYcCWhWydcdkG4uXz30n8ukcvTZ3TsTvlE6rotx2mQdyvBsNebbK9dbRgKEC+/KNNMKFov4Ap/ZvRtwvydSok=@vger.kernel.org X-Gm-Message-State: AOJu0YxLaMEqRr5qYuSTgG5gCZplqrn2t6qId4xIzugYcVKgMOHmfVSn uhoEy5VnHOSGWpgp+k/JAUhGKEhTXMq+Kx5hsU1uZGxVvU2AMXGHa2iBrHPDBWAwzYv8gPEXCmm gPphLIg7IQbEgW7TjPJChMrk6NTFE7FlzM9j8d7Kw2rxt4q/tsF1pvylSwFOghclQeMM= X-Gm-Gg: ASbGnct6JY+vueCSjRExaPQ6Vv6kiM7a9rO0fMC9aPnWhpjWI933pvtbhZswmQsWr+r LSTHpKxBYcZ/XA24UZqQtE1wLVBNGPhdqsi9Jd1NbbmhhNez79KD5adBDrfo/ZSbS5iQ7iD5JSz NbcSMIgHYBuCrdd70k74QKdM36JiP7qWFgLbgiffjrxTN4jZIyAepUT1QoSkB5JSXXH4uklq2fY BntyUSu2NqiY+0ruSKP+dUsTQyXb9FyEnz4gWF/M6utu38/KB8CBzVwyT7LUrQ9pnAA2+YqQSNQ ARVBAgGWqJxXXPT04x593YWsXTFpsFOqInof5n64GEpbgEne0ANidoMmD5QAawS0IQ2fMvQ5+0u y+R6H6VW4TiFz X-Received: by 2002:a05:622a:244:b0:4e8:846d:a980 with SMTP id d75a77b69052e-4e89d2a387cmr37124571cf.33.1760691383667; Fri, 17 Oct 2025 01:56:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG3eUE2elVtUpnZhtWXHz+4MlB+o7mcQ28YYahGYwUYCKw2V2KCoMwky9rkXFdFcShMWPjcVQ== X-Received: by 2002:a05:622a:244:b0:4e8:846d:a980 with SMTP id d75a77b69052e-4e89d2a387cmr37124471cf.33.1760691383258; Fri, 17 Oct 2025 01:56:23 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444d919sm70764985e9.14.2025.10.17.01.56.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 01:56:22 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, alexey.klimov@linaro.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH 02/12] ASoc: qcom: audioreach: remove unused variables Date: Fri, 17 Oct 2025 09:52:57 +0100 Message-ID: <20251017085307.4325-3-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> 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-Spam-Details-Enc: AW1haW4tMjUxMDExMDAxOCBTYWx0ZWRfXwi/DXGnAroX3 jZl2EAIZVQZWgEPkNGQ5iyqfFxiGz1lMlQIU99qrPP9vNNJFD4vw5Cf0MR9OaO0s3Htc0okgf6J kXBdQ65DaG3TEJHR+3Wxedyyx7mUCfPvyNGj6u2czT8vnb2eMPlfeSRShwaffJp8kVaN/4OB2E4 dId1AuXVYLKz8MVQeJM+0PgUZzdeZ1dTNGbCkuXV9iv4n0No8a4cY+rT+gAzLyaNFv0lw7I1sjE zCQ6YYTeg6LaZWcvLiYxlh4+GQp2VY40TI+1fnDD4+29BTB93a9aSivO4jnQzz9iiTg8oOtg+pZ Dp6bKG2KKLE4EgjoN3/2mKLxO/2Twc6gTDs6oevDg== X-Proofpoint-GUID: efEyAt_ID5YzJC3qPYolcv4pheky5gfz X-Authority-Analysis: v=2.4 cv=PriergM3 c=1 sm=1 tr=0 ts=68f204b9 cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=s8dh861zfECFqLDNse4A:9 a=OIgjcC2v60KrkQgK7BGD:22 X-Proofpoint-ORIG-GUID: efEyAt_ID5YzJC3qPYolcv4pheky5gfz X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-17_03,2025-10-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 adultscore=0 bulkscore=0 phishscore=0 lowpriorityscore=0 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510110018 Content-Type: text/plain; charset="utf-8" remove unused variables in some of the audioreach functions. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/audioreach.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sound/soc/qcom/qdsp6/audioreach.c b/sound/soc/qcom/qdsp6/audio= reach.c index 2365424a9b42..0456d4689034 100644 --- a/sound/soc/qcom/qdsp6/audioreach.c +++ b/sound/soc/qcom/qdsp6/audioreach.c @@ -612,7 +612,7 @@ static int audioreach_display_port_set_media_format(str= uct q6apm_graph *graph, struct apm_module_frame_size_factor_cfg *fs_cfg; struct apm_module_param_data *param_data; struct apm_module_hw_ep_mf_cfg *hw_cfg; - int ic_sz, ep_sz, fs_sz, dl_sz; + int ic_sz, ep_sz, fs_sz; int rc, payload_size; struct gpr_pkt *pkt; void *p; @@ -620,9 +620,8 @@ static int audioreach_display_port_set_media_format(str= uct q6apm_graph *graph, ic_sz =3D APM_DP_INTF_CFG_PSIZE; ep_sz =3D APM_HW_EP_CFG_PSIZE; fs_sz =3D APM_FS_CFG_PSIZE; - dl_sz =3D 0; =20 - payload_size =3D ic_sz + ep_sz + fs_sz + dl_sz; + payload_size =3D ic_sz + ep_sz + fs_sz; =20 pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) @@ -680,7 +679,7 @@ static int audioreach_codec_dma_set_media_format(struct= q6apm_graph *graph, struct apm_module_hw_ep_power_mode_cfg *pm_cfg; struct apm_module_param_data *param_data; struct apm_module_hw_ep_mf_cfg *hw_cfg; - int ic_sz, ep_sz, fs_sz, pm_sz, dl_sz; + int ic_sz, ep_sz, fs_sz, pm_sz; int rc, payload_size; struct gpr_pkt *pkt; void *p; @@ -689,9 +688,8 @@ static int audioreach_codec_dma_set_media_format(struct= q6apm_graph *graph, ep_sz =3D APM_HW_EP_CFG_PSIZE; fs_sz =3D APM_FS_CFG_PSIZE; pm_sz =3D APM_HW_EP_PMODE_CFG_PSIZE; - dl_sz =3D 0; =20 - payload_size =3D ic_sz + ep_sz + fs_sz + pm_sz + dl_sz; + payload_size =3D ic_sz + ep_sz + fs_sz + pm_sz; =20 pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) --=20 2.51.0 From nobody Sun Feb 8 18:44:15 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 095E32D29CF for ; Fri, 17 Oct 2025 08:56:27 +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=1760691390; cv=none; b=sjTPxalOjTGkMuExL7u+GNEan3ymQN7uMJVyIgTbJKwMM5vc0GvsHjfB3+LvlFOcFeu4L/9LNcJDUdp9J8kZCHa7viLjYgnq+Fj2h/DrJMk9QJ52vHhaYdn+XWhoKElUGHn3qUfprQv1k6cIF/+zPfMv9WjbW15f4XnSvbZ50Ck= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760691390; c=relaxed/simple; bh=Y1Z8wEb1AZlP4M/ebmxuhc8PuNLXf1ySuHShXdAA55E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bQ1Oa35j7cBGmp8o31eePb6Heqi+PtCvlhlG2627vCKISBaAD8DQ5UhPB+wov1oEUpWKtBWAiwVeEePqvW4m1sM6bNXPZ5K/e6xbUl+rKH0CVD4hOvLPp1ELd/OTuVcVxrHgIsEQhxSQu1fNvndnIqlm7u/D6LEr/CIjVwiT3Ig= 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=k0Y4scH8; 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="k0Y4scH8" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59H8Igdw006342 for ; Fri, 17 Oct 2025 08:56:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=0a0EWmnz2X5 JotpNKB4xwtxX9uknHBM8D8vzHC2h9JM=; b=k0Y4scH8pgg+mup1Uo0P6+0EuEE +zEVBcf5FhNp0ean8zk+WZ9EmLaXGFkKjza7hTd+O10sP/jrEc/IilWe5Ao9cE3j o+QLGY+IvNV1mbLUavrpZvN0glNNjveSGFogUGzvQQ9Id4mNH+w/zUBL8fjC8zig bMRjGEP+v55GYmVVxHaR+h7kCSO84J0zG/VFakXtjhE37AVU6Msg5MqNr60ZxPpD gjbE8GbM5hqL+oGnY6VLYjxDuRBgvO9SqCar9AFTcUui0Xwfy3M6qMiCgrpio/TH i0LD4EHpE+h77DfCUPNy5gzLMeJs0vw3FXTwkv6hySG11UK7j8Xd62hCyug== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49s6mwwvn2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 17 Oct 2025 08:56:27 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8906059f6b2so577035185a.2 for ; Fri, 17 Oct 2025 01:56:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760691386; x=1761296186; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0a0EWmnz2X5JotpNKB4xwtxX9uknHBM8D8vzHC2h9JM=; b=U41Rbvejf8g9bkZ8OskEKgjSRH3v2rBNUG2ep9QD1H62IeUkAh7Ryx6Q9LxX7Yoy1f udJABNFuq9+t9k4ZoQcFME1T6uRgWdCLnyrfXiJDK08UaprHU43jJH7opJb8LSMZJCdZ 4OgWSLh6K8B0rSJBkxS2waSQcQANzEgOpTv2ygsXw8TmIYg7djfVXPfzvCq0dUsH9DBk RaFMNScAVFvMN9ToGduUa7JSXsDH+sWTCKpF3PtsiAjZN06GkAjYsa4xmSlsAZD6nmmE ryzKZiEqOmjFgZ3epyVJ6AS+2lTQRN6WAOnPTzLX4zWAMmOHVY6OFVmUvqR6xT+IJinl XatA== X-Forwarded-Encrypted: i=1; AJvYcCW9+kY/sjShMp1t8+/GyjYMMWOAAc5Bkc2Wju0iUKN0GQVaqtJJYdfWv/6QOAyMF9lr6EmEV3p3N8+0mzY=@vger.kernel.org X-Gm-Message-State: AOJu0Yyv/NrXUJ4BCoJh6HnFqMI5HJ0l7KFQm1ljsE8mxShKMIgItrNj 8wpYGwC1QXfHCY79t9U96tY2gDJQd77dJQisNW0mk6L617vYg5lLrTuooUsNpJxBz4L/9E74D7C BMD2o0iUtB/NizFPVGu2jbIAHU8qXIS3cONIFMFoBoQQbSYLb1ZplN9OGLPTEbEfVt8KJvpcMTU M= X-Gm-Gg: ASbGncv285cs7xOJB4ZWAZKzqnIm9OWOXSd2D1OVNMvOwzfj8AzHbbM9k8J8Aq+tTxu A1Vnu/cTQ/XKC8Pnt9l0+uSBJIGpGc5IzBwLH1fOWwmS2x8NcOjOSroKg1dKNKvTjdyElXfgcZ7 vd08S6NGOKSJ9fb9dqtVz7A0PvcW9uVAXrYBWcqQzAWv31X3kY1ygUtVgD+9dviPj88aHk2A5Ee C2sa6kyC4CaIVC/ZnCR9gXzPe7GteXMTFB2Nm6aA/eS/qyYWg7nm8pRIx/DfalweTB7On0FS0Dn KvuNDDfuO5T8hQEbkOYbC+Z2ZDtKMGzpTuPOHmWQQco+yaguqW75hDYDquS+OTVJIWUkd/QuWN8 ruHwyyDHzLXQp X-Received: by 2002:a05:622a:3cc:b0:4e8:9cd2:4992 with SMTP id d75a77b69052e-4e89d1d9f0fmr43307811cf.16.1760691385392; Fri, 17 Oct 2025 01:56:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH6KK/lJLE0JTE8tv/Vqhkdj/AJoC8dtkae2EGNJgK85ToGXUn3f8d33CrIsbiyNMb1hdcMGA== X-Received: by 2002:a05:622a:3cc:b0:4e8:9cd2:4992 with SMTP id d75a77b69052e-4e89d1d9f0fmr43307531cf.16.1760691384869; Fri, 17 Oct 2025 01:56:24 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444d919sm70764985e9.14.2025.10.17.01.56.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 01:56:24 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, alexey.klimov@linaro.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH 03/12] ASoc: qcom: audioreach: Use automatic cleanup of kfree() Date: Fri, 17 Oct 2025 09:52:58 +0100 Message-ID: <20251017085307.4325-4-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> 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-Spam-Details-Enc: AW1haW4tMjUxMDEzMDA4MyBTYWx0ZWRfXy58Av7kvjcxy RwRWAr7nA6opAu1MfhjVlftpRVTI/QwnBJ0ziGgYGiDcUV8J3axI2697HKaLk3t/2Pg0L2Se7uX P0ahqRud1QFoHV0QP+xoWZiA/o1nAyAcYWWHwyeFKyk2zGLe6QoO4se1bWJmc8rxjm4A0S8X2yH yUQMCx1ActbpgCNAo7evXavwpfc0R4OohrQOwuVNf40e1AUwG0vQz3dPR3XZo4ZegRdYpPqBM57 4KRmyPSJ2V4d9iKVyQdlHf4hMhcsTas5ZFB5666u8gLp4bPPusaC5JKJcTrmhirPqUwz/kYWgeo YJPCWFru3BNNw+VLNYXBunoa9iqilbnR9O37Cbjo2wYN664nCvqbQLwdNVA/WCjceoU7dVReOM3 tOds86WT84EiuO8Q3PhZ4iasq24Pmg== X-Authority-Analysis: v=2.4 cv=Fr4IPmrq c=1 sm=1 tr=0 ts=68f204bb cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=eMYRZwCK-RnsMZ2OX8QA:9 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-GUID: FGhAZp80FK9sizc4_HGkYUTYYdoyc60E X-Proofpoint-ORIG-GUID: FGhAZp80FK9sizc4_HGkYUTYYdoyc60E X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-17_03,2025-10-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 spamscore=0 phishscore=0 malwarescore=0 adultscore=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510130083 Content-Type: text/plain; charset="utf-8" Its common pattern in q6dsp code to allocate temporary buffer to send gpr/apr packets and free at the function exit. Now this can be simplified via __free(kfree) mechanism. No functional changes. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/audioreach.c | 232 +++++++++--------------------- 1 file changed, 66 insertions(+), 166 deletions(-) diff --git a/sound/soc/qcom/qdsp6/audioreach.c b/sound/soc/qcom/qdsp6/audio= reach.c index 0456d4689034..7f2c607fb27a 100644 --- a/sound/soc/qcom/qdsp6/audioreach.c +++ b/sound/soc/qcom/qdsp6/audioreach.c @@ -612,18 +612,12 @@ static int audioreach_display_port_set_media_format(s= truct q6apm_graph *graph, struct apm_module_frame_size_factor_cfg *fs_cfg; struct apm_module_param_data *param_data; struct apm_module_hw_ep_mf_cfg *hw_cfg; - int ic_sz, ep_sz, fs_sz; - int rc, payload_size; - struct gpr_pkt *pkt; + int ic_sz =3D APM_DP_INTF_CFG_PSIZE; + int ep_sz =3D APM_HW_EP_CFG_PSIZE; + int fs_sz =3D APM_FS_CFG_PSIZE; + int size =3D ic_sz + ep_sz + fs_sz; void *p; - - ic_sz =3D APM_DP_INTF_CFG_PSIZE; - ep_sz =3D APM_HW_EP_CFG_PSIZE; - fs_sz =3D APM_FS_CFG_PSIZE; - - payload_size =3D ic_sz + ep_sz + fs_sz; - - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(size, = APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -662,11 +656,7 @@ static int audioreach_display_port_set_media_format(st= ruct q6apm_graph *graph, intf_cfg->cfg.mst_idx =3D 0; intf_cfg->cfg.dptx_idx =3D cfg->dp_idx; =20 - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } =20 /* LPASS Codec DMA port Module Media Format Setup */ @@ -679,19 +669,13 @@ static int audioreach_codec_dma_set_media_format(stru= ct q6apm_graph *graph, struct apm_module_hw_ep_power_mode_cfg *pm_cfg; struct apm_module_param_data *param_data; struct apm_module_hw_ep_mf_cfg *hw_cfg; - int ic_sz, ep_sz, fs_sz, pm_sz; - int rc, payload_size; - struct gpr_pkt *pkt; + int ic_sz =3D APM_CDMA_INTF_CFG_PSIZE; + int ep_sz =3D APM_HW_EP_CFG_PSIZE; + int fs_sz =3D APM_FS_CFG_PSIZE; + int pm_sz =3D APM_HW_EP_PMODE_CFG_PSIZE; + int size =3D ic_sz + ep_sz + fs_sz + pm_sz; void *p; - - ic_sz =3D APM_CDMA_INTF_CFG_PSIZE; - ep_sz =3D APM_HW_EP_CFG_PSIZE; - fs_sz =3D APM_FS_CFG_PSIZE; - pm_sz =3D APM_HW_EP_PMODE_CFG_PSIZE; - - payload_size =3D ic_sz + ep_sz + fs_sz + pm_sz; - - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(size, = APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -739,24 +723,17 @@ static int audioreach_codec_dma_set_media_format(stru= ct q6apm_graph *graph, param_data->param_size =3D pm_sz - APM_MODULE_PARAM_DATA_SIZE; pm_cfg->power_mode.power_mode =3D 0; =20 - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } =20 int audioreach_send_u32_param(struct q6apm_graph *graph, struct audioreach= _module *module, uint32_t param_id, uint32_t param_val) { struct apm_module_param_data *param_data; - struct gpr_pkt *pkt; + struct gpr_pkt *pkt __free(kfree) =3D NULL; uint32_t *param; - int rc, payload_size; - void *p; - - payload_size =3D sizeof(uint32_t) + APM_MODULE_PARAM_DATA_SIZE; - p =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + int payload_size =3D sizeof(uint32_t) + APM_MODULE_PARAM_DATA_SIZE; + void *p =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0= ); if (IS_ERR(p)) return -ENOMEM; =20 @@ -773,11 +750,7 @@ int audioreach_send_u32_param(struct q6apm_graph *grap= h, struct audioreach_modul param =3D p; *param =3D param_val; =20 - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } EXPORT_SYMBOL_GPL(audioreach_send_u32_param); =20 @@ -813,24 +786,17 @@ static int audioreach_set_module_config(struct q6apm_= graph *graph, struct audioreach_module *module, struct audioreach_module_config *cfg) { - int payload_size =3D le32_to_cpu(module->data->size); - struct gpr_pkt *pkt; - int rc; + int size =3D le32_to_cpu(module->data->size); void *p; - - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(size, = APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 p =3D (void *)pkt + GPR_HDR_SIZE + APM_CMD_HDR_SIZE; =20 - memcpy(p, module->data->data, payload_size); - - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); + memcpy(p, module->data->data, size); =20 - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } =20 static int audioreach_mfc_set_media_format(struct q6apm_graph *graph, @@ -840,15 +806,11 @@ static int audioreach_mfc_set_media_format(struct q6a= pm_graph *graph, struct apm_module_param_data *param_data; struct param_id_mfc_media_format *media_format; uint32_t num_channels =3D cfg->num_channels; - int payload_size; - struct gpr_pkt *pkt; - int rc, i; + int payload_size =3D APM_MFC_CFG_PSIZE(media_format, num_channels) + + APM_MODULE_PARAM_DATA_SIZE; + int i; void *p; - - payload_size =3D APM_MFC_CFG_PSIZE(media_format, num_channels) + - APM_MODULE_PARAM_DATA_SIZE; - - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(payloa= d_size, APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -868,11 +830,7 @@ static int audioreach_mfc_set_media_format(struct q6ap= m_graph *graph, for (i =3D 0; i < num_channels; i++) media_format->channel_mapping[i] =3D cfg->channel_map[i]; =20 - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } =20 static int audioreach_set_compr_media_format(struct media_format *media_fm= t_hdr, @@ -960,31 +918,24 @@ static int audioreach_set_compr_media_format(struct m= edia_format *media_fmt_hdr, int audioreach_compr_set_param(struct q6apm_graph *graph, struct audioreac= h_module_config *mcfg) { struct media_format *header; - struct gpr_pkt *pkt; - int iid, payload_size, rc; + int rc; void *p; - - payload_size =3D sizeof(struct apm_sh_module_media_fmt_cmd); - - iid =3D q6apm_graph_get_rx_shmem_module_iid(graph); - pkt =3D audioreach_alloc_cmd_pkt(payload_size, DATA_CMD_WR_SH_MEM_EP_MEDI= A_FORMAT, - 0, graph->port->id, iid); - + int iid =3D q6apm_graph_get_rx_shmem_module_iid(graph); + int payload_size =3D sizeof(struct apm_sh_module_media_fmt_cmd); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_cmd_pkt(payload_si= ze, + DATA_CMD_WR_SH_MEM_EP_MEDIA_FORMAT, + 0, graph->port->id, iid); if (IS_ERR(pkt)) return -ENOMEM; =20 + p =3D (void *)pkt + GPR_HDR_SIZE; header =3D p; rc =3D audioreach_set_compr_media_format(header, p, mcfg); - if (rc) { - kfree(pkt); + if (rc) return rc; - } - - rc =3D gpr_send_port_pkt(graph->port, pkt); - kfree(pkt); =20 - return rc; + return gpr_send_port_pkt(graph->port, pkt); } EXPORT_SYMBOL_GPL(audioreach_compr_set_param); =20 @@ -996,18 +947,12 @@ static int audioreach_i2s_set_media_format(struct q6a= pm_graph *graph, struct apm_module_param_data *param_data; struct apm_i2s_module_intf_cfg *intf_cfg; struct apm_module_hw_ep_mf_cfg *hw_cfg; - int ic_sz, ep_sz, fs_sz; - int rc, payload_size; - struct gpr_pkt *pkt; + int ic_sz =3D APM_I2S_INTF_CFG_PSIZE; + int ep_sz =3D APM_HW_EP_CFG_PSIZE; + int fs_sz =3D APM_FS_CFG_PSIZE; + int size =3D ic_sz + ep_sz + fs_sz; void *p; - - ic_sz =3D APM_I2S_INTF_CFG_PSIZE; - ep_sz =3D APM_HW_EP_CFG_PSIZE; - fs_sz =3D APM_FS_CFG_PSIZE; - - payload_size =3D ic_sz + ep_sz + fs_sz; - - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(size, = APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -1058,11 +1003,7 @@ static int audioreach_i2s_set_media_format(struct q6= apm_graph *graph, param_data->param_size =3D fs_sz - APM_MODULE_PARAM_DATA_SIZE; fs_cfg->frame_size_factor =3D 1; =20 - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } =20 static int audioreach_logging_set_media_format(struct q6apm_graph *graph, @@ -1070,12 +1011,9 @@ static int audioreach_logging_set_media_format(struc= t q6apm_graph *graph, { struct apm_module_param_data *param_data; struct data_logging_config *cfg; - int rc, payload_size; - struct gpr_pkt *pkt; + int size =3D sizeof(*cfg) + APM_MODULE_PARAM_DATA_SIZE; void *p; - - payload_size =3D sizeof(*cfg) + APM_MODULE_PARAM_DATA_SIZE; - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(size, = APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -1085,7 +1023,7 @@ static int audioreach_logging_set_media_format(struct= q6apm_graph *graph, param_data->module_instance_id =3D module->instance_id; param_data->error_code =3D 0; param_data->param_id =3D PARAM_ID_DATA_LOGGING_CONFIG; - param_data->param_size =3D payload_size - APM_MODULE_PARAM_DATA_SIZE; + param_data->param_size =3D size - APM_MODULE_PARAM_DATA_SIZE; =20 p =3D p + APM_MODULE_PARAM_DATA_SIZE; cfg =3D p; @@ -1093,11 +1031,7 @@ static int audioreach_logging_set_media_format(struc= t q6apm_graph *graph, cfg->log_tap_point_id =3D module->log_tap_point_id; cfg->mode =3D module->log_mode; =20 - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } =20 static int audioreach_pcm_set_media_format(struct q6apm_graph *graph, @@ -1108,8 +1042,8 @@ static int audioreach_pcm_set_media_format(struct q6a= pm_graph *graph, uint32_t num_channels =3D mcfg->num_channels; struct apm_pcm_module_media_fmt_cmd *cfg; struct apm_module_param_data *param_data; - int rc, payload_size; - struct gpr_pkt *pkt; + int payload_size; + struct gpr_pkt *pkt __free(kfree) =3D NULL; =20 if (num_channels > 4) { dev_err(graph->dev, "Error: Invalid channels (%d)!\n", num_channels); @@ -1144,11 +1078,7 @@ static int audioreach_pcm_set_media_format(struct q6= apm_graph *graph, media_cfg->bits_per_sample =3D mcfg->bit_width; memcpy(media_cfg->channel_mapping, mcfg->channel_map, mcfg->num_channels); =20 - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } =20 static int audioreach_shmem_set_media_format(struct q6apm_graph *graph, @@ -1160,7 +1090,7 @@ static int audioreach_shmem_set_media_format(struct q= 6apm_graph *graph, struct payload_media_fmt_pcm *cfg; struct media_format *header; int rc, payload_size; - struct gpr_pkt *pkt; + struct gpr_pkt *pkt __free(kfree) =3D NULL; void *p; =20 if (num_channels > 4) { @@ -1202,29 +1132,20 @@ static int audioreach_shmem_set_media_format(struct= q6apm_graph *graph, memcpy(cfg->channel_mapping, mcfg->channel_map, mcfg->num_channels); } else { rc =3D audioreach_set_compr_media_format(header, p, mcfg); - if (rc) { - kfree(pkt); + if (rc) return rc; - } } =20 - rc =3D audioreach_graph_send_cmd_sync(graph, pkt, 0); - - kfree(pkt); - - return rc; + return audioreach_graph_send_cmd_sync(graph, pkt, 0); } =20 int audioreach_gain_set_vol_ctrl(struct q6apm *apm, struct audioreach_modu= le *module, int vol) { struct param_id_vol_ctrl_master_gain *cfg; struct apm_module_param_data *param_data; - int rc, payload_size; - struct gpr_pkt *pkt; + int size =3D sizeof(*cfg) + APM_MODULE_PARAM_DATA_SIZE; void *p; - - payload_size =3D sizeof(*cfg) + APM_MODULE_PARAM_DATA_SIZE; - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(size, = APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -1234,16 +1155,12 @@ int audioreach_gain_set_vol_ctrl(struct q6apm *apm,= struct audioreach_module *mo param_data->module_instance_id =3D module->instance_id; param_data->error_code =3D 0; param_data->param_id =3D PARAM_ID_VOL_CTRL_MASTER_GAIN; - param_data->param_size =3D payload_size - APM_MODULE_PARAM_DATA_SIZE; + param_data->param_size =3D size - APM_MODULE_PARAM_DATA_SIZE; =20 p =3D p + APM_MODULE_PARAM_DATA_SIZE; cfg =3D p; cfg->master_gain =3D vol; - rc =3D q6apm_send_cmd_sync(apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(apm, pkt, 0); } EXPORT_SYMBOL_GPL(audioreach_gain_set_vol_ctrl); =20 @@ -1251,11 +1168,8 @@ static int audioreach_gain_set(struct q6apm_graph *g= raph, struct audioreach_modu { struct apm_module_param_data *param_data; struct apm_gain_module_cfg *cfg; - int rc, payload_size; - struct gpr_pkt *pkt; - - payload_size =3D APM_GAIN_CFG_PSIZE; - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + int size =3D APM_GAIN_CFG_PSIZE; + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(size, = APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -1265,15 +1179,11 @@ static int audioreach_gain_set(struct q6apm_graph *= graph, struct audioreach_modu param_data->module_instance_id =3D module->instance_id; param_data->error_code =3D 0; param_data->param_id =3D APM_PARAM_ID_GAIN; - param_data->param_size =3D payload_size - APM_MODULE_PARAM_DATA_SIZE; + param_data->param_size =3D size - APM_MODULE_PARAM_DATA_SIZE; =20 cfg->gain_cfg.gain =3D module->gain; =20 - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } =20 int audioreach_set_media_format(struct q6apm_graph *graph, struct audiorea= ch_module *module, @@ -1358,9 +1268,9 @@ int audioreach_map_memory_regions(struct q6apm_graph = *graph, unsigned int dir, s struct apm_cmd_shared_mem_map_regions *cmd; uint32_t num_regions, buf_sz, payload_size; struct audioreach_graph_data *data; - struct gpr_pkt *pkt; + struct gpr_pkt *pkt __free(kfree) =3D NULL; void *p; - int rc, i; + int i; =20 if (dir =3D=3D SNDRV_PCM_STREAM_PLAYBACK) data =3D &graph->rx_data; @@ -1407,23 +1317,16 @@ int audioreach_map_memory_regions(struct q6apm_grap= h *graph, unsigned int dir, s } mutex_unlock(&graph->lock); =20 - rc =3D audioreach_graph_send_cmd_sync(graph, pkt, APM_CMD_RSP_SHARED_MEM_= MAP_REGIONS); - - kfree(pkt); - - return rc; + return audioreach_graph_send_cmd_sync(graph, pkt, APM_CMD_RSP_SHARED_MEM_= MAP_REGIONS); } EXPORT_SYMBOL_GPL(audioreach_map_memory_regions); =20 int audioreach_shared_memory_send_eos(struct q6apm_graph *graph) { struct data_cmd_wr_sh_mem_ep_eos *eos; - struct gpr_pkt *pkt; - int rc =3D 0, iid; - - iid =3D q6apm_graph_get_rx_shmem_module_iid(graph); - pkt =3D audioreach_alloc_cmd_pkt(sizeof(*eos), DATA_CMD_WR_SH_MEM_EP_EOS,= 0, - graph->port->id, iid); + int iid =3D q6apm_graph_get_rx_shmem_module_iid(graph); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_cmd_pkt(sizeof(*eo= s), + DATA_CMD_WR_SH_MEM_EP_EOS, 0, graph->port->id, iid); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -1431,9 +1334,6 @@ int audioreach_shared_memory_send_eos(struct q6apm_gr= aph *graph) =20 eos->policy =3D WR_SH_MEM_EP_EOS_POLICY_LAST; =20 - rc =3D gpr_send_port_pkt(graph->port, pkt); - kfree(pkt); - - return rc; + return gpr_send_port_pkt(graph->port, pkt); } EXPORT_SYMBOL_GPL(audioreach_shared_memory_send_eos); --=20 2.51.0 From nobody Sun Feb 8 18:44:15 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 D2EDA2D3A94 for ; Fri, 17 Oct 2025 08:56:28 +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=1760691390; cv=none; b=K9vtBf4RGXrbxBUmNTzRwtP7n/fLgm8BIvNmWm3Nmt7uOWwOqOKek/0wQa2cZNESy0ohGcDMvZOgGkX6MBqrUJMg2qRjcFbg0qLfU76VniX6RzPBr0jE+ng3TeXoFVNky7akR0QMhQlO/llYtc/VGPMbjBacbt0BtT4tb/qQDeA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760691390; c=relaxed/simple; bh=UOMDuytwV5b0FWFmJzLikQVcSaE25eP4RAV2dWnOfww=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JhDkvzYfGLEIWeOhs06tVvOlkM9MzgQlqRUGpqRufvj5f4pP5U55AVoLoT0oj2XNyXs+qKqInKYZUIvfnxRkzFeXqHRqGK0DF87/j6784PcIfRDj4/UfOlEf5owIR0/f8xX/g1EiHj2J31gnrtUTIU5HPnVtSkKJy6Hw7tJc0BY= 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=E2w0ov/O; 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="E2w0ov/O" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59H7sQOq028676 for ; Fri, 17 Oct 2025 08:56:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=IRPASGCwKLk EyaUY/ExfpyqCkRwquY7kf3u//UZGcCA=; b=E2w0ov/OpoeALdj9/AORL6KicqO Xjj0RR1g2dWTA09mXMW/5gypmUh6v7JSLfS2iP+w2bGqMWEiMxzbpXYVt8/idCk3 SC7myjvPKN1pmijmccEhgUA3b6ffb5JW+Gv0G9lKR9JDpUYygcl4i/WnrHKbOynF QUJmOnKeaAitD6pC4ndtmCwX4WI15bIU4vVFkGaOw/bOc7T+LFGgNsZ6tQFgFTdS Qtke5N1iA73FS73nMeFkXYcMKqePqy2W+a5JAkORuR4fweloIuhLBpaR0JpKU+C5 q4nAQmvu8s/M5Tz7iAGIdjDcAb0i3aDiPDQlHEHa52rg1vl4l8WAntSTCWQ== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49u1h0u71g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 17 Oct 2025 08:56:28 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-86df46fa013so753275385a.2 for ; Fri, 17 Oct 2025 01:56:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760691387; x=1761296187; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IRPASGCwKLkEyaUY/ExfpyqCkRwquY7kf3u//UZGcCA=; b=pc05tWH3hlC+w6efbDioNbv2ZxZ4yjmUSnEvHwBijos/720rw2T1pfkXqDxCBq4M3L jKtzmKR4UucvlMFhyDNLjnuBuR1oaccSkmLLrAJMQUGPJ3rmy+fhDF6Sy81hHJp1o3fv +e1pQQErdZlo64BR7MRn2zAz2In7kMN1l7MCbl6ikwXXaMDu4gWJMQFrtXXt4n/EAvKc Cf5OGQWVB8Q4TkFAOu7uYLAC7TP1VMlEh49CaxRJFtAo0yxz48h8pPeEsKkUMOLAauz4 fzodLHu3rfBJYdn+5DrIlHhlNtpNPZZtc1pytoof+TgXgpdKMxGSf9KzzTh1chr85DQx qNJw== X-Forwarded-Encrypted: i=1; AJvYcCWdlBGJK3PFo+3W5umxAt7eStz9R8qJmvJdnZ9aqpi7h8iW3e8P5TDtwzD5LQE2dto1HdMuuol+9A2an9o=@vger.kernel.org X-Gm-Message-State: AOJu0Ywb6jb0moMJxbVwt0sQerYd5TMYpmHM03QsKV/bcYXnQ6428fhe GKvaa5Xek74NeYrXWkyVhDQv90WODP/B1wc9Qq5DUml4zCLl4oC+nhFwllwzegeE8cdW6tqncsE K3BG2sH3QDvImPqi0sMtl/e2ovFifyVbse9/WOxTEfxWhm5QR3CY4+n0xmYxG+0c0/lE= X-Gm-Gg: ASbGncvUYC9eOkwdEHpdrJcARP/ds/DTmpduRiV2BTGXGsLqRbmZCj/oMnviVwjCL0j gXPRr+rkOdROU15JVFplRRkV1VYYIdmmP0LZBUSFoRdBSZr3NSYITIVa7oL9QoSHxzciJFqX6/l bln1j5j9fryRSEiT6NJK3/aN4aNTqqpmPip4npU9DXk0jW0v3tm8rYovA1Tw9KdbsLizFzJHDqc q5TXFURJ0BWMjN2VKDbsuJtmJrUyU4C0LBiA1PFvV3zqrYLZ6UUsdKZ6alfjx9GE64bEObKnD8+ HgQj3qmzYd0LdcWmPXYmPTP4E+Q8+lSPeiADLKqZwrxbs0PweqS6EuOFUVEIOx9PRqVT2AWecO4 nC4TCzxU/4Zwp X-Received: by 2002:ac8:6292:0:b0:4e8:a307:a42b with SMTP id d75a77b69052e-4e8a307aab3mr7543581cf.4.1760691386919; Fri, 17 Oct 2025 01:56:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFt2aeEBG2tuomsaj8skDLmIMc21It7yI43sXPDyV3iT1PdQ3O8uYgGBS9IoNvVISB3p2rJGQ== X-Received: by 2002:ac8:6292:0:b0:4e8:a307:a42b with SMTP id d75a77b69052e-4e8a307aab3mr7543391cf.4.1760691386395; Fri, 17 Oct 2025 01:56:26 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444d919sm70764985e9.14.2025.10.17.01.56.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 01:56:25 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, alexey.klimov@linaro.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH 04/12] ASoc: qcom: q6adm: Use automatic cleanup of kfree() Date: Fri, 17 Oct 2025 09:52:59 +0100 Message-ID: <20251017085307.4325-5-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> 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-Authority-Analysis: v=2.4 cv=esXSD4pX c=1 sm=1 tr=0 ts=68f204bc cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=tHfk9jisluZWoJm7kAAA:9 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-GUID: knQrltX-wDQ_D_f6zjV4lU8v4NgArLGW X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDE2MDA5OSBTYWx0ZWRfX16HqWAKdJ76J Tzk5MJQEh3OoFZ215AB4NHxw3c5C9jO13HQEw0y9tGHT//EhGsDaVR9A3O2kInqbTBP6Y8Yuc9x 3gHF4eKOWo8vPiceQ6C7kKkRUlfOpeAAMlkp8sxhefrPTkQwvxtQcWlx/Ag40vdaHNdUlsgilVW DzhisFxp7gUXueBxZUDlXF4DE7pK+p2kOh6APFSBieBptcfMwDBjJqGai4+0SYUdoLQ/8FmJtxK 9Fg3qe8hbPND2Dbu0b2scG8JBk+ae0O/cm84dWLncNxhiAZUXS/BeCUPWVxwaciRmZUv9C6pG7W spegHL8hcu+sCMzQnf2h2ta2i+4VwujjSMLXC7+Z0NJCspmdecOJ6RnvtRPKfmeafpR7t4f5leF 3WMVDhOWJcuPhEUUrJaqYiCe3e2p8Q== X-Proofpoint-ORIG-GUID: knQrltX-wDQ_D_f6zjV4lU8v4NgArLGW X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-17_03,2025-10-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0 impostorscore=0 bulkscore=0 spamscore=0 malwarescore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510160099 Content-Type: text/plain; charset="utf-8" Its common pattern in q6dsp code to allocate temporary buffer to send gpr/apr packets and free at the function exit. Now this can be simplified via __free(kfree) mechanism. No functional changes. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6adm.c | 33 +++++++++------------------------ 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6adm.c b/sound/soc/qcom/qdsp6/q6adm.c index 1530e98df165..6477c7875c12 100644 --- a/sound/soc/qcom/qdsp6/q6adm.c +++ b/sound/soc/qcom/qdsp6/q6adm.c @@ -325,11 +325,8 @@ static int q6adm_device_open(struct q6adm *adm, struct= q6copp *copp, struct q6adm_cmd_device_open_v5 *open; int afe_port =3D q6afe_get_port_id(port_id); struct apr_pkt *pkt; - void *p; - int ret, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(*open); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int ret, pkt_size =3D APR_HDR_SIZE + sizeof(*open); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -354,14 +351,9 @@ static int q6adm_device_open(struct q6adm *adm, struct= q6copp *copp, ret =3D q6dsp_map_channels(&open->dev_channel_mapping[0], channel_mode); if (ret) - goto err; - - ret =3D q6adm_apr_send_copp_pkt(adm, copp, pkt, - ADM_CMDRSP_DEVICE_OPEN_V5); + return ret; =20 -err: - kfree(pkt); - return ret; + return q6adm_apr_send_copp_pkt(adm, copp, pkt, ADM_CMDRSP_DEVICE_OPEN_V5); } =20 /** @@ -464,15 +456,12 @@ int q6adm_matrix_map(struct device *dev, int path, struct q6adm_session_map_node_v5 *node; struct apr_pkt *pkt; uint16_t *copps_list; - int pkt_size, ret, i, copp_idx; - void *matrix_map; - struct q6copp *copp; - + int ret, i, copp_idx; /* Assumes port_ids have already been validated during adm_open */ - pkt_size =3D (APR_HDR_SIZE + sizeof(*route) + sizeof(*node) + + struct q6copp *copp; + int pkt_size =3D (APR_HDR_SIZE + sizeof(*route) + sizeof(*node) + (sizeof(uint32_t) * payload_map.num_copps)); - - matrix_map =3D kzalloc(pkt_size, GFP_KERNEL); + void *matrix_map __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!matrix_map) return -ENOMEM; =20 @@ -510,16 +499,13 @@ int q6adm_matrix_map(struct device *dev, int path, if (port_idx < 0) { dev_err(dev, "Invalid port_id %d\n", payload_map.port_id[i]); - kfree(pkt); return -EINVAL; } copp_idx =3D payload_map.copp_idx[i]; =20 copp =3D q6adm_find_copp(adm, port_idx, copp_idx); - if (!copp) { - kfree(pkt); + if (!copp) return -EINVAL; - } =20 copps_list[i] =3D copp->id; kref_put(&copp->refcount, q6adm_free_copp); @@ -552,7 +538,6 @@ int q6adm_matrix_map(struct device *dev, int path, =20 fail_cmd: mutex_unlock(&adm->lock); - kfree(pkt); return ret; } EXPORT_SYMBOL_GPL(q6adm_matrix_map); --=20 2.51.0 From nobody Sun Feb 8 18:44:15 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 8375A2D4B4B for ; Fri, 17 Oct 2025 08:56:30 +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=1760691392; cv=none; b=DFH5dy0rrx6kv38J11nsUMqZMbVL7zTSger12p7xYWSuQUE5vZQaf3VJYBd7EOOKoa5NN4nUdVqOedNWI+zx3NJaaMdNtWSanJ04zOPLNXTd0Oz1j+GHdjszrmOKRJ7DnLkL/Um8iyERPzY70zOXQjd4I9ZU2uFq/1yJzic5woc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760691392; c=relaxed/simple; bh=yBNFWfi7nb0NEEgHL4lbgPtCESQBjN8cUW0xWV+hUrs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gIA2dz37tZ9bEacdktaniDkMDPZ3O6LVvcbSlQmnSme8ZBhFxg48D5AHGtq6H8xRKiKLsq13AeDLprcNrBIIdWB/5aXnDKx0/EqEk3YJUkyA33o9peLKSurLQZzPGMWtHcb6QHZTaWt2TFXMz2XWgUiarVlz1i3GTPHdIPhOOmE= 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=Uww1N1ua; 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="Uww1N1ua" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59H83NPg025387 for ; Fri, 17 Oct 2025 08:56:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=nDvlp40m+Ni viZ7Prwo/9bXT1BrtIsyNq1nV9QUwJU8=; b=Uww1N1uaGi2FFme7I1wBWjSasQC UC7KEVUT6M7RGACcM9I6LHdfcAbrDaWnrOCAWRez7gyz//R+I79xTnkjXv6vXJO6 gISuVFCDPphBj/fD+W6iyRX4f14GizHC/4Pz2WSZNxjPuFWlB4x54tsurhdHneT2 YBN+tVzXeTd1ysKe3XIuN/TeauwyRSDqejeA/kb5b4A8Q0MRpa6121qXwYvEDUWM AAhDAjlNQ9JGx99ooR67w+AZ3SepEJ/kNXNBYLIQ6yQ5AJWFTt5OmoK2Lcr45cGe c9peTsMf5rAThxJXa/xgYSnWia06cXffGzLHO2BtQrJFvhJTi+sMukDXc5w== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49qfdkkj5p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 17 Oct 2025 08:56:29 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-88f1dad9992so762228085a.1 for ; Fri, 17 Oct 2025 01:56:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760691388; x=1761296188; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nDvlp40m+NiviZ7Prwo/9bXT1BrtIsyNq1nV9QUwJU8=; b=djL81HDG5vYZQPbkjuae49lxucVFqr5zDTTwtyaGqbyClE6lkeSa0U/LPy2qfFs2dC BCmKLb+/+hV0Goy3RSQ3sgnjj94ptK6FR24S1iPYqtnVYLnokFSyHDLwPhlQpBIMGCUS MvKsSEqNaaNAAGNEAGBZYab/n3tC8A92Uqf5+rjSmRQdi3Df9OF72lq6ruXxsKT1NSHv CjI+kupS222ifzB03QDhWtNPMxZlDHg+54sZ8MuHuoF9JZuqfbYCBezTpv9EOSx3IIfW cwnqNEhfVM9V0A0cLguzPSyiqAfALr6Bn9RVURF7CI25tmwJT7LcQMmYBtzvGvTQVRbD NjjA== X-Forwarded-Encrypted: i=1; AJvYcCUeGHZPIUJ/YA++hPCpVfrPj2YfcBZp/dM39+3lfsjrz4ef7DhLBbnfpLqVIYtJXSNKmeiUZKGqXukC+2U=@vger.kernel.org X-Gm-Message-State: AOJu0Yxt4n1VqGiwtrlO+zHU5FSJKLbYPinin8a8LI2MzYmC2blQPlxM k3ZY1y0vAfaGPtXgX7Q/EZHwrmiHUrqKsYUUVJufKE2cQLSOxpvSRbsH2IwCX7dSCMe70yho4q5 jIbuLXjBneGOKP4DC1GhVEgf6H+6gg5Q0o617TcEhXZ7nOTw2VQju2CV/595Fdok4/+s= X-Gm-Gg: ASbGncsDQ6ttqiS2Hc3FfRZv83Zo2qERS430RVk80UdKsZ7kfhrwtQP9OLGKbN4sUoD LBNtNDsp6ZDELaY/YWTwNfijbtNCxZeUP2P4GfPahaDKIC58pW/yBrDMeOK/3jH21k49Slp26lu LMsAu8RZhybAawviUh5DAnh2nglTC47tDXTu7Cme0I0LXf+h+nqK00lV2aWk43U0j3Y25Hy/uec b3Xgh16hoXYIvfuii37xN5kH6nFdTxm35B1uxOUFtAaJ1CxDaqhmfuUyNFxCc3FsBp9L6tcdY53 +A0hmiVsuUoDo6pdfwxvXE9JnuwBbKWCdsQtsEaDnr5nUUr8ASVCxdnO/ZSBYe9AhnqtoqZsJV3 OlgBKkt3GUSZ2 X-Received: by 2002:a05:620a:d89:b0:84b:226b:bf4b with SMTP id af79cd13be357-8907011469dmr371062085a.44.1760691388340; Fri, 17 Oct 2025 01:56:28 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGUPr93d8Ajmplggb+ldAlBxbQLvNV0HTydv4xrmLHHI5+c/49iamayVLMQxclCht+/wql+7w== X-Received: by 2002:a05:620a:d89:b0:84b:226b:bf4b with SMTP id af79cd13be357-8907011469dmr371060085a.44.1760691387891; Fri, 17 Oct 2025 01:56:27 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444d919sm70764985e9.14.2025.10.17.01.56.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 01:56:27 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, alexey.klimov@linaro.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH 05/12] ASoc: qcom: q6afe: Use automatic cleanup of kfree() Date: Fri, 17 Oct 2025 09:53:00 +0100 Message-ID: <20251017085307.4325-6-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> 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-ORIG-GUID: oC_sf4mwkYCUti2Zg-TKvwJLfrEKx30m X-Authority-Analysis: v=2.4 cv=MrNfKmae c=1 sm=1 tr=0 ts=68f204bd cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=92AZDs2nESXm7HPk3LYA:9 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-GUID: oC_sf4mwkYCUti2Zg-TKvwJLfrEKx30m X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDExMDAxOCBTYWx0ZWRfX7IZr7roli7nG zpQbgbV3ThZqscUMeWrp6PqJ9r3se/GnCL2ebsaIAT/OdpbBkWlNfocQbachGSqIUuimyU9xfUf yFkQWdHXkde8GB1iHefa0m2eYrMy6nS5MixYlkDrD4S7D6PT4wx4UwcwW1Z3Fwrrr1XsDazDbmU 9SndiYhqzOEIhXl2lNyfxj+cx1fxJm3ecnNnIVxi8Yp4iJHI234EQpd/+sTf6LZterBZ0HGVW7h BhISAB5IWOvh6QkXtDEkRo7HrPbbI2g2T+Ii9Jy7bIZIfpEze6DcDN/NIM4dP583c5zTrRbgNoN qniNCvURJbiLgzWkeR0EBPRpiCCTmqXKlFKXoWYr0uJrTGdXMuRxee/RipH/DXEW4iP34g3DH8E uA/puRj98cTi0L88lzwbXtEclzKDjg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-17_03,2025-10-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 bulkscore=0 clxscore=1015 adultscore=0 phishscore=0 impostorscore=0 priorityscore=1501 malwarescore=0 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510110018 Content-Type: text/plain; charset="utf-8" Its common pattern in q6dsp code to allocate temporary buffer to send gpr/apr packets and free at the function exit. Now this can be simplified via __free(kfree) mechanism. No functional changes. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6afe.c | 41 +++++++++++------------------------- 1 file changed, 12 insertions(+), 29 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6afe.c b/sound/soc/qcom/qdsp6/q6afe.c index 7b59d514b432..56f85f1c2425 100644 --- a/sound/soc/qcom/qdsp6/q6afe.c +++ b/sound/soc/qcom/qdsp6/q6afe.c @@ -1077,11 +1077,9 @@ static int q6afe_set_param(struct q6afe *afe, struct= q6afe_port *port, struct afe_svc_cmd_set_param *param; struct afe_port_param_data_v2 *pdata; struct apr_pkt *pkt; - int ret, pkt_size; - void *p, *pl; - - pkt_size =3D APR_HDR_SIZE + sizeof(*param) + sizeof(*pdata) + psize; - p =3D kzalloc(pkt_size, GFP_KERNEL); + int ret, pkt_size =3D APR_HDR_SIZE + sizeof(*param) + sizeof(*pdata) + ps= ize; + void *pl; + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1112,7 +1110,6 @@ static int q6afe_set_param(struct q6afe *afe, struct = q6afe_port *port, if (ret) dev_err(afe->dev, "AFE set params failed %d\n", ret); =20 - kfree(pkt); return ret; } =20 @@ -1131,11 +1128,9 @@ static int q6afe_port_set_param_v2(struct q6afe_port= *port, void *data, struct q6afe *afe =3D port->afe; struct apr_pkt *pkt; u16 port_id =3D port->id; - int ret, pkt_size; - void *p, *pl; - - pkt_size =3D APR_HDR_SIZE + sizeof(*param) + sizeof(*pdata) + psize; - p =3D kzalloc(pkt_size, GFP_KERNEL); + int ret, pkt_size =3D APR_HDR_SIZE + sizeof(*param) + sizeof(*pdata) + ps= ize; + void *pl; + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1168,7 +1163,6 @@ static int q6afe_port_set_param_v2(struct q6afe_port = *port, void *data, dev_err(afe->dev, "AFE enable for port 0x%x failed %d\n", port_id, ret); =20 - kfree(pkt); return ret; } =20 @@ -1285,7 +1279,7 @@ int q6afe_port_stop(struct q6afe_port *port) int port_id =3D port->id; int ret =3D 0; int index, pkt_size; - void *p; + void *p __free(kfree) =3D NULL; =20 index =3D port->token; if (index < 0 || index >=3D AFE_PORT_MAX) { @@ -1316,7 +1310,6 @@ int q6afe_port_stop(struct q6afe_port *port) if (ret) dev_err(afe->dev, "AFE close failed %d\n", ret); =20 - kfree(pkt); return ret; } EXPORT_SYMBOL_GPL(q6afe_port_stop); @@ -1676,7 +1669,7 @@ int q6afe_port_start(struct q6afe_port *port) int ret, param_id =3D port->cfg_type; struct apr_pkt *pkt; int pkt_size; - void *p; + void *p __free(kfree) =3D NULL; =20 ret =3D q6afe_port_set_param_v2(port, &port->port_cfg, param_id, AFE_MODULE_AUDIO_DEV_INTERFACE, @@ -1722,7 +1715,6 @@ int q6afe_port_start(struct q6afe_port *port) dev_err(afe->dev, "AFE enable for port 0x%x failed %d\n", port_id, ret); =20 - kfree(pkt); return ret; } EXPORT_SYMBOL_GPL(q6afe_port_start); @@ -1845,11 +1837,8 @@ int q6afe_unvote_lpass_core_hw(struct device *dev, u= int32_t hw_block_id, struct afe_cmd_remote_lpass_core_hw_devote_request *vote_cfg; struct apr_pkt *pkt; int ret =3D 0; - int pkt_size; - void *p; - - pkt_size =3D APR_HDR_SIZE + sizeof(*vote_cfg); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*vote_cfg); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1871,7 +1860,6 @@ int q6afe_unvote_lpass_core_hw(struct device *dev, ui= nt32_t hw_block_id, if (ret < 0) dev_err(afe->dev, "AFE failed to unvote (%d)\n", hw_block_id); =20 - kfree(pkt); return ret; } EXPORT_SYMBOL(q6afe_unvote_lpass_core_hw); @@ -1883,11 +1871,8 @@ int q6afe_vote_lpass_core_hw(struct device *dev, uin= t32_t hw_block_id, struct afe_cmd_remote_lpass_core_hw_vote_request *vote_cfg; struct apr_pkt *pkt; int ret =3D 0; - int pkt_size; - void *p; - - pkt_size =3D APR_HDR_SIZE + sizeof(*vote_cfg); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*vote_cfg); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1911,8 +1896,6 @@ int q6afe_vote_lpass_core_hw(struct device *dev, uint= 32_t hw_block_id, if (ret) dev_err(afe->dev, "AFE failed to vote (%d)\n", hw_block_id); =20 - - kfree(pkt); return ret; } EXPORT_SYMBOL(q6afe_vote_lpass_core_hw); --=20 2.51.0 From nobody Sun Feb 8 18:44:15 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 9258E2D6603 for ; Fri, 17 Oct 2025 08:56:33 +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=1760691395; cv=none; b=Ikz3/JPyKcEb5xZTK2Q0F7AGWDAKyFIZ8DT4K1v0MPEvBv6kI0RIytmQS8gz4SKY9yn4BIkq1mPZov7V0VMXw6W0E5LJzTElBlza6qhA7mg0py7+iDUMNcLiJVmU0dkrKFThfF67t9GWUHZcT9KoRm2FLYpVN+MDI6u++uCWYTg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760691395; c=relaxed/simple; bh=oa+cWYTt9UzB1FyHIVERceVFvqBCWaXqS0POIoM+lKI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HBKKWN1dhkng/fo/KueykEvg4/S2kALBhgASpvM8DMIyB/PWNIXf5L1nPIg17wFUWbgtZTMf74pR76do5K5BCyyZQHl5jBG9cL+Z1EDwS9T+P7QEa+qSX+uQyVzsfk62bvrEMTDmmXOQbMzbHj9hDI+4Xg2ovSG0ywqjuBYIKr8= 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=L73rQIqO; 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="L73rQIqO" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59H867NW025235 for ; Fri, 17 Oct 2025 08:56:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=6pGATZVupHw 4Czz1AViHliAMs8GpLruqkYCkicjIlBU=; b=L73rQIqOW6h0c8WpnpJiVMpF1+d bccnP4643vLZK63OtZxeqKxghqvVgQI/ybwVx9ww7lxQDSNwugootSLK71DcPzr7 /H7/6RXSnWfZWUOBxHH5iPayukkX3DiHlJF6bTUVUdcZp0SgySzYCnM+iSDHy7dU GZyPZic61u/COLh+RZAbak08akMurMp0pnaLjK9kyVUSrs7HgIx8/GgKu+Du+l7g Wq5MnByNVhaB7pnaqCVydYHMeu2mG1mObVjZf1Ww5nwExDvJkuEYyBtWTQFZnkIq EvYXDZGHfSRf1VYUXpZWCxZHDwttUPFusNJiIazooV82L7BXfWhCPBUC5KA== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49qfdkkj63-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 17 Oct 2025 08:56:32 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8908a248048so300928585a.0 for ; Fri, 17 Oct 2025 01:56:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760691392; x=1761296192; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6pGATZVupHw4Czz1AViHliAMs8GpLruqkYCkicjIlBU=; b=nMfDq1DgtPfzPuk5ogoPQ5A1Kjoosmb/ekWgEQpii4vkBIJWa4BQjukj+gkpn7nCHY o8YP5WuEG+l8xTEVETHpYsFjyt0eru6Blxyz8ui9Tlv4Ax9Vt9xsMmU6kPvT+z4YSn3D 4BXJaCZ3G80a5zMfx0psHpXYT6Q720isHTekhU4CTreYLQMeY+BjWko/m+DrwGkPO8DR 3+HGwcB1mxb9toagBev/9meEwujIaWY9N1CUgUL4UGWi7Zk0mE7GgZ6c4FUpzLb3UjLc rYu4wopTYUo8Il4NCge0chc80gw52i3/XgLTCMT8u4Hy2Zfoh0gIc/UxSbf53lxuqEoK QTpw== X-Forwarded-Encrypted: i=1; AJvYcCU4WiqnQfNKStlEXTbWW6PFASNI9lCiBmq0yKNK2nvqbHEXrzNSj1iQa4lx+lUjk+mFHZWYpB7R1BArmqY=@vger.kernel.org X-Gm-Message-State: AOJu0Yyr7Jgl4+ii1Z+wnY96eGf+BNyeZIvxC6R87W42It44UgH57+fy KVHeDmtzNfpDj2QiJZhr63n2PnWLvJp/saf+cWHxlO0tg+jJNPP081u5E2nhsIjhXki0VQtbGEZ M+Et6jw726iYZV2Fi2LiJRDrqUmHiuHqMXbe+NMN0ejQzL+TbZ5FpNakN3k+00eOwJF4= X-Gm-Gg: ASbGncsZ/qGObyMEYDCCKnYC3ogUaiUASzn00gMsHUkR4uxdvp/pm49KyjjFcLiIvr3 rpiBQoBsoOd3E/BGvUcgckTogYssj6Y3jM1blHCbLCtbeVxytleuGXB2+tlsm5X2Fn1wRoGwSFj FO2Iy8u83bna8DSZ1Q5pMnV1i1EQE0nkYGEuybNfBB6uHN5zIB+TEd3lMV2zR98cMPw4e3Enpg5 1IKCwDxgW1i1d2hVP3ASoOfpvm/bMUFAT9lbiw5ko0quGu1j2qwVJe+1OAlS49//6ct+79v1rA/ bqVloHCZ7RM6UhD49++jLO8nvWud8/Z+3CDGzxBy/XFYLJTJ9A7NZMr4LNksvhhRjRkhQ36B7eO J8emf1Hg09Ua+ X-Received: by 2002:a05:620a:1921:b0:88e:9874:8257 with SMTP id af79cd13be357-8906e3c5df2mr376987185a.9.1760691391760; Fri, 17 Oct 2025 01:56:31 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF63Px5DUNh0yn/CzHTzSEIo2j7JYidNDTp4SUTpCfSz2vNCoH3277zcAVyU6QLytHJjF8tfw== X-Received: by 2002:a05:620a:1921:b0:88e:9874:8257 with SMTP id af79cd13be357-8906e3c5df2mr376982085a.9.1760691390423; Fri, 17 Oct 2025 01:56:30 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444d919sm70764985e9.14.2025.10.17.01.56.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 01:56:30 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, alexey.klimov@linaro.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH 06/12] ASoc: qcom: q6apm: Use automatic cleanup of kfree() Date: Fri, 17 Oct 2025 09:53:01 +0100 Message-ID: <20251017085307.4325-7-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> 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-ORIG-GUID: pTy3fhdm43utv8ec1lgVOAyCfBy8rJYV X-Authority-Analysis: v=2.4 cv=MrNfKmae c=1 sm=1 tr=0 ts=68f204c0 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=ORCg8BdZNXsK9r0PxOcA:9 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-GUID: pTy3fhdm43utv8ec1lgVOAyCfBy8rJYV X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDExMDAxOCBTYWx0ZWRfX+Xr4U1akgj7I 5Vw9MKJ2oorbsUe7pDucWEKtVVCGigGL0foFhlHk8+WZs99r56lZkhFKkx0GBHsxMBWg4lYKrxe DrA6ctUyoROGPiAAZnedkQvCFldU5hqH3Dcv4wSf7HB6Xn88qLsk55xC6DuuxyVorXZlqbVpP+y KNOROX89tuQVfOnQWJUnw2G63UFqNndw3Tmuq7fJL6W1E9J83+i0AofWeCMEEyAcSI19G0sZhsL Lj54YMduTEDekknfqqJyYJIdqOeGQwrlaBqL5XSq6OTBkeUNbnxS0bBldr7sx7Pib7XWSoc1KrY TVUpZEI5Q5kBBocXHWlnUt3HNnfLNQ9KE1W91XSFJFdd0XYHkq5inbj1q9sEWPS2b3zi2MSM1XQ CZJs0Y4e9pKtdnqjnQdWd7Y//V4RiA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-17_03,2025-10-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 bulkscore=0 clxscore=1015 adultscore=0 phishscore=0 impostorscore=0 priorityscore=1501 malwarescore=0 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510110018 Content-Type: text/plain; charset="utf-8" Its common pattern in q6dsp code to allocate temporary buffer to send gpr/apr packets and free at the function exit. Now this can be simplified via __free(kfree) mechanism. No functional changes. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6apm.c | 57 +++++++++++------------------------- 1 file changed, 17 insertions(+), 40 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6apm.c b/sound/soc/qcom/qdsp6/q6apm.c index 0e667a7eb546..7a7d7195d990 100644 --- a/sound/soc/qcom/qdsp6/q6apm.c +++ b/sound/soc/qcom/qdsp6/q6apm.c @@ -99,12 +99,8 @@ static int audioreach_graph_mgmt_cmd(struct audioreach_g= raph *graph, uint32_t op struct apm_graph_mgmt_cmd *mgmt_cmd; struct audioreach_sub_graph *sg; struct q6apm *apm =3D graph->apm; - int i =3D 0, rc, payload_size; - struct gpr_pkt *pkt; - - payload_size =3D APM_GRAPH_MGMT_PSIZE(mgmt_cmd, num_sub_graphs); - - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, opcode, 0); + int i =3D 0, payload_size =3D APM_GRAPH_MGMT_PSIZE(mgmt_cmd, num_sub_grap= hs); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(payloa= d_size, opcode, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -120,11 +116,7 @@ static int audioreach_graph_mgmt_cmd(struct audioreach= _graph *graph, uint32_t op list_for_each_entry(sg, &info->sg_list, node) mgmt_cmd->sub_graph_id_list[i++] =3D sg->sub_graph_id; =20 - rc =3D q6apm_send_cmd_sync(apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(apm, pkt, 0); } =20 static void q6apm_put_audioreach_graph(struct kref *ref) @@ -148,16 +140,13 @@ static void q6apm_put_audioreach_graph(struct kref *r= ef) =20 static int q6apm_get_apm_state(struct q6apm *apm) { - struct gpr_pkt *pkt; - - pkt =3D audioreach_alloc_apm_cmd_pkt(0, APM_CMD_GET_SPF_STATE, 0); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(0, + APM_CMD_GET_SPF_STATE, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 q6apm_send_cmd_sync(apm, pkt, APM_CMD_RSP_GET_SPF_STATE); =20 - kfree(pkt); - return apm->state; } =20 @@ -270,7 +259,7 @@ int q6apm_unmap_memory_regions(struct q6apm_graph *grap= h, unsigned int dir) { struct apm_cmd_shared_mem_unmap_regions *cmd; struct audioreach_graph_data *data; - struct gpr_pkt *pkt; + struct gpr_pkt *pkt __free(kfree) =3D NULL; int rc; =20 if (dir =3D=3D SNDRV_PCM_STREAM_PLAYBACK) @@ -290,7 +279,6 @@ int q6apm_unmap_memory_regions(struct q6apm_graph *grap= h, unsigned int dir) cmd->mem_map_handle =3D data->mem_map_handle; =20 rc =3D audioreach_graph_send_cmd_sync(graph, pkt, APM_CMD_SHARED_MEM_UNMA= P_REGIONS); - kfree(pkt); =20 audioreach_graph_free_buf(graph); =20 @@ -420,13 +408,11 @@ int q6apm_write_async(struct q6apm_graph *graph, uint= 32_t len, uint32_t msw_ts, { struct apm_data_cmd_wr_sh_mem_ep_data_buffer_v2 *write_buffer; struct audio_buffer *ab; - struct gpr_pkt *pkt; - int rc, iid; - - iid =3D q6apm_graph_get_rx_shmem_module_iid(graph); - pkt =3D audioreach_alloc_pkt(sizeof(*write_buffer), DATA_CMD_WR_SH_MEM_EP= _DATA_BUFFER_V2, - graph->rx_data.dsp_buf | (len << APM_WRITE_TOKEN_LEN_SHIFT), - graph->port->id, iid); + int iid =3D q6apm_graph_get_rx_shmem_module_iid(graph); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_pkt(sizeof(*write_= buffer), + DATA_CMD_WR_SH_MEM_EP_DATA_BUFFER_V2, + graph->rx_data.dsp_buf | (len << APM_WRITE_TOKEN_LEN_SHIFT), + graph->port->id, iid); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -450,11 +436,7 @@ int q6apm_write_async(struct q6apm_graph *graph, uint3= 2_t len, uint32_t msw_ts, =20 mutex_unlock(&graph->lock); =20 - rc =3D gpr_send_port_pkt(graph->port, pkt); - - kfree(pkt); - - return rc; + return gpr_send_port_pkt(graph->port, pkt); } EXPORT_SYMBOL_GPL(q6apm_write_async); =20 @@ -463,12 +445,10 @@ int q6apm_read(struct q6apm_graph *graph) struct data_cmd_rd_sh_mem_ep_data_buffer_v2 *read_buffer; struct audioreach_graph_data *port; struct audio_buffer *ab; - struct gpr_pkt *pkt; - int rc, iid; - - iid =3D q6apm_graph_get_tx_shmem_module_iid(graph); - pkt =3D audioreach_alloc_pkt(sizeof(*read_buffer), DATA_CMD_RD_SH_MEM_EP_= DATA_BUFFER_V2, - graph->tx_data.dsp_buf, graph->port->id, iid); + int iid =3D q6apm_graph_get_tx_shmem_module_iid(graph); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_pkt(sizeof(*read_b= uffer), + DATA_CMD_RD_SH_MEM_EP_DATA_BUFFER_V2, + graph->tx_data.dsp_buf, graph->port->id, iid); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -490,10 +470,7 @@ int q6apm_read(struct q6apm_graph *graph) =20 mutex_unlock(&graph->lock); =20 - rc =3D gpr_send_port_pkt(graph->port, pkt); - kfree(pkt); - - return rc; + return gpr_send_port_pkt(graph->port, pkt); } EXPORT_SYMBOL_GPL(q6apm_read); =20 --=20 2.51.0 From nobody Sun Feb 8 18:44:15 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 11A8B2D6621 for ; Fri, 17 Oct 2025 08:56:33 +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=1760691395; cv=none; b=NUTYL7Opqn8c+Eiv1/bNk0tr+fiUBA1J9upYnr9nDxVQuYuvVJ706wHAE6X8rFr0hqkzIHZbnuBl2Ejh48jQNI0g15OVvjfow821zg8SM6K2za+PKylckl4N2XKBeBlUnJlIkn+jOLANbx0DrbLGD1NtizyKQXicMHlCGaVY7Js= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760691395; c=relaxed/simple; bh=SejOUWbTAy/5ROULM2ELVlqM+FZ6nMOhFi6ugNEQavQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ig9wAxLPRnOvwCRlDrCOdgC0s8gKSY0kRoSn6DXJhjiMPhR02lvNHnB1TDDQ0bcvR1KSXQwUxzvvcLQO7E8IMJ5D+sIZEPHasdx3Nkf9dOYsSvmxKJCuJmSV/HI9P/hHaP20itoOmTWQNWBNa4EfaWfm9AdqfOCfKU9pVRRQ0uo= 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=pnZsnm0+; 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="pnZsnm0+" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59H86Z4K020220 for ; Fri, 17 Oct 2025 08:56:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=FajSm68u81z o6yJDj0yJMvUAWFriu/OwYH2XhH8JyXE=; b=pnZsnm0+Hb9oR1wbNi8+epvF73q OKaznn8WpO/oRbhykSLFLstqhHiO3x2ZwjOa7ZdSIlIygv8mXovtCDE/ziu1uF9R rTzteedER6JV0Pbc3uFee0uvk8SDWaKhxtmQn+BGM1nvBSoKsPMDyM6o9DwaPdqr ggWcZzojk5J65TQccRFEKQbAMHA/JeZfNoOQ/wTP2g7Nph/J+7B8V5LveME1vXdc db/8dKg6VDn6JzfhdV5W1i47GpUffrB5yTCz1UjonGjlnVAA7lxkaX2yap7IokGT S4ZW74LFaMR/s3oMrVA0q4q+3keU2KujX5kyG1uq+fCneU7pQzt5fmSC72A== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49tqvpmyg7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 17 Oct 2025 08:56:33 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-84a3a7ac082so552293785a.2 for ; Fri, 17 Oct 2025 01:56:33 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760691392; x=1761296192; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FajSm68u81zo6yJDj0yJMvUAWFriu/OwYH2XhH8JyXE=; b=i9+OebDX2brzejiplyzg82sJ4U+8liMSAIp16crBLqCqnMtkS/8sOEYUboB5NevJPX +dBdHBy5KjFfvE8ikhtMqSOT5joOLmyNVQQCHNFKWkdv1QqpVYWqZtpFWdjxKbJZ4aMW NNuyznoWmmSE8w2fWcmqbSFwgn1oEouRDrKmSN9iE7nUwgnmOOUfJCJXefcN3jQBLhGB ltdTfsuI0lJc1U+6UiBdGgom3VGY1j8HN5wfWsPSEXyagJzbwZRFg4n+ANh9C+Chp8Ku gmNXu+Ov0LgaTY/7oRib65By1mD7BnMMdS90Bg/d/QzYwd20VcKTIZjT3YtzzZQlDfcV 4gow== X-Forwarded-Encrypted: i=1; AJvYcCV41SrlDOfNCpS+ftrAcHsm3auUoC1niJAr2fNQC7FxmEgdDS+GanGrzccFVX0E8+DB3W44pmJ8jW+3Tow=@vger.kernel.org X-Gm-Message-State: AOJu0Yy197n7KrnTBTyCz43T2MKurFrGQgHGMDh4BMlzpCd8U1qviOE6 XUUTVQ+C9Ga6J88Wj2RBzCOqtAQUjJxeJwSpF71Fe2/uP3e7RTFNOYAclTvZb9ZIC18ZUIz3QB7 o8ch8KAQzVi23r2/4bK4jfS84HER6IW+6khWky1qG8P/0zPAX3NBBMguJFUUz9WexKN0= X-Gm-Gg: ASbGncvHq5apM8I6FKIykC1pxCSFinTT2cMJGQ5YJgDyaS7tVHPgbn6+iSWJmwmRLKC VD7UPHGfkyndw9/MFP7P7wIIACpsVUlhS/KVNBxABq2At+w6bmGcuvmkH73szTffqPJnzy8GBO4 35PjUJoW2uhA4x3t8tdsazMVY2i6cKfYaxYdjnHLR7I5M56zK3vCtVZJe0Sv9Gwv4+AxkP+xXqS vVK8rLMFXColuNEclrHWCGMpv8A8TfY06/TOP2eH/r85iTiRYYAYgpgWeY7f8t71tj06xM3QlSS sI4qXfxGJJbyG0FS/ppVM9JKC4BmolS9xEyXmTNuX9a+P7odOu8iTSTfda6OpbbwtkYpNaaiMGF as9rMJcEKBti1 X-Received: by 2002:a05:622a:587:b0:4e6:ed89:c014 with SMTP id d75a77b69052e-4e89d3a24c9mr33928011cf.55.1760691392407; Fri, 17 Oct 2025 01:56:32 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFpa5jj8b7IDxg5bOjcWoHZU0OyEot5cPPW8i+SaTkYNxJ8GuekLCvVvjpxwIH4XJzYIX1FWA== X-Received: by 2002:a05:622a:587:b0:4e6:ed89:c014 with SMTP id d75a77b69052e-4e89d3a24c9mr33927861cf.55.1760691391958; Fri, 17 Oct 2025 01:56:31 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444d919sm70764985e9.14.2025.10.17.01.56.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 01:56:31 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, alexey.klimov@linaro.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH 07/12] ASoc: qcom: q6prm: Use automatic cleanup of kfree() Date: Fri, 17 Oct 2025 09:53:02 +0100 Message-ID: <20251017085307.4325-8-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> 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-Authority-Analysis: v=2.4 cv=aPD9aL9m c=1 sm=1 tr=0 ts=68f204c1 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=XDFA_cjcnCjOe_gdXw4A:9 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDE2MDAxNyBTYWx0ZWRfXzoyezrXaJf7D uvgQFXJobeBdj9oxHrXC6E24TsARqcWu6FMRZ45UamFbUOuKy4SuDBQIqkfU5ZP0kezV92EnR1T U8ah2mtOSk1smEryOkClA5mdYpGOFw3etgWUpcK6V4fx/aA0mDAzvKoXFXNOCmwvhyki3GCmVzr mimGUulgGkTpf/4SD+UsnRtacDAcp+cJCdw9tS4crYZdC4eg75V0qarzNhiDb8omGWUvPxy9f4Y uMccADoKXMaKHL6xZ4lQpjgJGsfkxH3xRCB/wuMOO15QijiTPxUNQOIro7aNzkzww+xle8+Ud+W +ba90w3JKsmCwAQlZzOSObfXCFY2UPSct60/P3Giv+R3lCN9c8WTFZQA9jCVUZ4vRGwDL1TVIs4 h3gSlyLGj00NanlVKk22MpCMR8GXSQ== X-Proofpoint-ORIG-GUID: siAftytBCXLIvShpR5cY5S3hblfgBxmp X-Proofpoint-GUID: siAftytBCXLIvShpR5cY5S3hblfgBxmp X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-17_03,2025-10-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 bulkscore=0 suspectscore=0 malwarescore=0 phishscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510160017 Content-Type: text/plain; charset="utf-8" Its common pattern in q6dsp code to allocate temporary buffer to send gpr/apr packets and free at the function exit. Now this can be simplified via __free(kfree) mechanism. No functional changes. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6prm.c | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6prm.c b/sound/soc/qcom/qdsp6/q6prm.c index 81554d202658..0b8fad0bc832 100644 --- a/sound/soc/qcom/qdsp6/q6prm.c +++ b/sound/soc/qcom/qdsp6/q6prm.c @@ -62,8 +62,7 @@ static int q6prm_set_hw_core_req(struct device *dev, uint= 32_t hw_block_id, bool struct prm_cmd_request_hw_core *req; gpr_device_t *gdev =3D prm->gdev; uint32_t opcode, rsp_opcode; - struct gpr_pkt *pkt; - int rc; + struct gpr_pkt *pkt __free(kfree) =3D NULL; =20 if (enable) { opcode =3D PRM_CMD_REQUEST_HW_RSC; @@ -88,11 +87,7 @@ static int q6prm_set_hw_core_req(struct device *dev, uin= t32_t hw_block_id, bool =20 req->hw_clk_id =3D hw_block_id; =20 - rc =3D q6prm_send_cmd_sync(prm, pkt, rsp_opcode); - - kfree(pkt); - - return rc; + return q6prm_send_cmd_sync(prm, pkt, rsp_opcode); } =20 int q6prm_vote_lpass_core_hw(struct device *dev, uint32_t hw_block_id, @@ -116,8 +111,7 @@ static int q6prm_request_lpass_clock(struct device *dev= , int clk_id, int clk_att struct apm_module_param_data *param_data; struct prm_cmd_request_rsc *req; gpr_device_t *gdev =3D prm->gdev; - struct gpr_pkt *pkt; - int rc; + struct gpr_pkt *pkt __free(kfree) =3D NULL; =20 pkt =3D audioreach_alloc_cmd_pkt(sizeof(*req), PRM_CMD_REQUEST_HW_RSC, 0,= gdev->svc.id, GPR_PRM_MODULE_IID); @@ -139,11 +133,7 @@ static int q6prm_request_lpass_clock(struct device *de= v, int clk_id, int clk_att req->clock_id.clock_attri =3D clk_attr; req->clock_id.clock_root =3D clk_root; =20 - rc =3D q6prm_send_cmd_sync(prm, pkt, PRM_CMD_RSP_REQUEST_HW_RSC); - - kfree(pkt); - - return rc; + return q6prm_send_cmd_sync(prm, pkt, PRM_CMD_RSP_REQUEST_HW_RSC); } =20 static int q6prm_release_lpass_clock(struct device *dev, int clk_id, int c= lk_attr, int clk_root, @@ -153,8 +143,7 @@ static int q6prm_release_lpass_clock(struct device *dev= , int clk_id, int clk_att struct apm_module_param_data *param_data; struct prm_cmd_release_rsc *rel; gpr_device_t *gdev =3D prm->gdev; - struct gpr_pkt *pkt; - int rc; + struct gpr_pkt *pkt __free(kfree) =3D NULL; =20 pkt =3D audioreach_alloc_cmd_pkt(sizeof(*rel), PRM_CMD_RELEASE_HW_RSC, 0,= gdev->svc.id, GPR_PRM_MODULE_IID); @@ -173,11 +162,7 @@ static int q6prm_release_lpass_clock(struct device *de= v, int clk_id, int clk_att rel->num_clk_id =3D 1; rel->clock_id.clock_id =3D clk_id; =20 - rc =3D q6prm_send_cmd_sync(prm, pkt, PRM_CMD_RSP_RELEASE_HW_RSC); - - kfree(pkt); - - return rc; + return q6prm_send_cmd_sync(prm, pkt, PRM_CMD_RSP_RELEASE_HW_RSC); } =20 int q6prm_set_lpass_clock(struct device *dev, int clk_id, int clk_attr, in= t clk_root, --=20 2.51.0 From nobody Sun Feb 8 18:44:15 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 E57352BF3DF for ; Fri, 17 Oct 2025 08:56:35 +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=1760691398; cv=none; b=NF6pSPBDNE1erIuh9XI9QsDQrbp6ThBgzEG5yjZU9AkaSNu89aooSqZYGTolfTyFxtV4qmwLjWTX6/t93R8LuqM4IGkXAlZtBx296EO9OzpD+TOFtD+aEgAHFSwFImMYaBESfGPw6uwjZCTCtNhPMT0BPnGmqV4KLvoTtNYZKr8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760691398; c=relaxed/simple; bh=q/PMmiVC8flD2msphuOxMjtp0nJ5hITJsUZZz4yu0HQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JxXcLWw7Qmpy64sxw+55ILHT3zXf71u2dHjmMd1YXN+4smgw08/e/yS+mJ+LqcPvAz2Jkq6GM5OwSyPaIeSGnaNZWNnw0ZxSbvcy69Cnx7+Z/CcafYc7JPa4pCjWgoC1vynr6xBMHa4Yi5NPNlpe3dJ/uQARAEKPcw8IaJRUGf0= 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=LJAu11vz; 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="LJAu11vz" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59H8fRbx002682 for ; Fri, 17 Oct 2025 08:56:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=F+z8rOJy0kp gsPU139d4TxeICpAZrzgqvaXcpET0pPQ=; b=LJAu11vz8LCePWJp4HVdHVzeNlm SqyNTSMddSApLrPEucpKL5Gskse3KLFmZYAzDUuifbn0bZXTP3Qdc7nRkclW/oN4 rG4Ajv/G18fBFVmhVTPCVFjRX99OP36yxLsPudorDG3ZQUqOm69YALBxaCfS2b0O vNV43sGxx7HG+kR0M/mFZw3A/AfdGKwrSdjwhhxT31Rshxa222ptcZlizQNCh+Ie iLOJ/aKMa/v4LjTpOvg3HCwBXcgO+Z23fnDmJ3ap7op4NQPYFpBSFjLR3bAh8DUK /DoLIlZaEBnt5iflHz+DF6TWdIosUqorMnz9r+2OocxRlVOXpVswOKb6/Ow== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49qfd9bm9d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 17 Oct 2025 08:56:35 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-871614ad3efso582465785a.0 for ; Fri, 17 Oct 2025 01:56:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760691394; x=1761296194; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=F+z8rOJy0kpgsPU139d4TxeICpAZrzgqvaXcpET0pPQ=; b=Z2s7CsTGKSDX/eW8kGHHKcKKqv4oEVAPvKT9ns7PDxGTSW8M6ti4wwhAKPgj801+uw CrazySjnTcENZ3UyIsib3gZEv2hrfNpVQOuh4N+eaTmLP5sdLYo5GixHsVwwdxiHbx3h qmSQD15M7KdcDpGnIJ4nK0zQt8cJ4cho36TBkVTZYz4xRXRWP7Nkm0x2dAgY7RZdNo2B 7+ZCru2uAmeZPpOMiP9ShXDJI58phxAcfCM9eQ05l2oBiR9oeSyTOSTj91ezRGFOjYsJ wH7f5UN2T9xGNouFqZTR8auS65jRq9ubD/PCz9GySiBZmGyR6Y8a+Co8eNSGhLqjPzNM dwPw== X-Forwarded-Encrypted: i=1; AJvYcCWfn8w9KA6TruNJJxEMD4WCmCZdAuBhj4FGuNx3Aqw+DGjJAa8FOBh2aNad9OX7GeoHR6YaXrhnFcRuhXQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyIy9NJbOZ7OGOAIQfKKNT/MR71cn+APIeZ4h9YfGJ93ws4jeaf Vhzgb2br1WJzQkKp09dIaW1bJUGWkL0EhCOGdMHa8I+VtWaEq8TvY8Oj5UOpm9bZeI3T86PVc3S NboDkCmiAB3Iymix8QZnbawmd1zo+9FneJkXEVdrjan/LKYh77bJNw9hBaXj1sbOlV5o= X-Gm-Gg: ASbGnct+dCFRzRWZHNLsohOOBYwU9hdNshfe9RbK6g8G0Y3EDHjNP8Wv/9qD0izFnNM E0ByaY72TYszKJJRaUrt1oGmNl6S0xr5IkzeCbKOsSViEC/u9pLI8HGEU6Bp+3W3OMEUFeLM8WR OkzlG+jQp/THtHuThNWaUXfli05XmDzAD9PRgPrplydL/+DRhYqw9X/CZzlL2cz5Zbt4xBd5BSV 2j5ine0UFrkxDJp+c68HYFurMFKiG/+0ZMRauYLIJbYDDLXkb+MzaUauqaAIxrzpK6MoQaDgao9 UN0+Tkpj/ZuF/WWOmRyMLF3vVpVmlz6tEJ9RyDfhYY7n8PDW9Ka0ZgLp7fLsRdJ/77L1X1ZXoYL zTnxR13wlLN2l X-Received: by 2002:a05:622a:1452:b0:4e8:94c7:a60a with SMTP id d75a77b69052e-4e89d21c2e5mr37888701cf.13.1760691393847; Fri, 17 Oct 2025 01:56:33 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHKytRRtMMI32c2JW1OGRhxHnTVyHXZTvnHTnRFGDd0RnBqK5ZD64ayhr4jB89/lKGz/3auoA== X-Received: by 2002:a05:622a:1452:b0:4e8:94c7:a60a with SMTP id d75a77b69052e-4e89d21c2e5mr37888531cf.13.1760691393331; Fri, 17 Oct 2025 01:56:33 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444d919sm70764985e9.14.2025.10.17.01.56.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 01:56:32 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, alexey.klimov@linaro.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH 08/12] ASoc: qcom: q6asm: Use automatic cleanup of kfree() Date: Fri, 17 Oct 2025 09:53:03 +0100 Message-ID: <20251017085307.4325-9-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> 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-ORIG-GUID: ZRFnuwbCe_auCpDyIaZ36eUHn8hGsd89 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDExMDAxOCBTYWx0ZWRfX4Qbt+2f4IQrN bbxFUiARtq29LkvZAPh7XNGgIaeqiIhc8IEZ5EV3oscWCRK5vVfYGAq4AHB1LbAzPgsfMtT2wM/ 4cghp6Vrldghxr6wOZbBSXvMAYdFSFIFbcSYvTDtmmq+AAwngAgFC9uPcnusaxAcyQjabUgL9Hd L/RQpq3rHA48eWHJpOfGboRT1QkRweNemmkHJ/t4GVhdXmaRzGgPRqAcUirrsUHkdIkz3jWs0PE M+d2ibaAnL7JvLckvOOhjtQBFrW090ZAi/l8biGOAkP+pxouEfPUGRdkKp0SW55XGHo/ybRUAv+ Sy3RFh83B7904Lu5yqKg4ZJgJF8QKEy7S48HnmWZ2ByTXQ23uybFCjFbNEMXO30A2iOh5uG0Lsd nbcYu7r8p6fwMBDz+mNf/ALkHVVN8A== X-Proofpoint-GUID: ZRFnuwbCe_auCpDyIaZ36eUHn8hGsd89 X-Authority-Analysis: v=2.4 cv=PdTyRyhd c=1 sm=1 tr=0 ts=68f204c3 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=GTJLAGQgu5kf8ZLGHUQA:9 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-17_03,2025-10-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 bulkscore=0 clxscore=1015 adultscore=0 lowpriorityscore=0 impostorscore=0 priorityscore=1501 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510110018 Content-Type: text/plain; charset="utf-8" Its common pattern in q6dsp code to allocate temporary buffer to send gpr/apr packets and free at the function exit. Now this can be simplified via __free(kfree) mechanism. No functional changes. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6asm.c | 166 +++++++++-------------------------- 1 file changed, 42 insertions(+), 124 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6asm.c b/sound/soc/qcom/qdsp6/q6asm.c index 67e9ca18883c..366fe8a8387f 100644 --- a/sound/soc/qcom/qdsp6/q6asm.c +++ b/sound/soc/qcom/qdsp6/q6asm.c @@ -333,7 +333,7 @@ static int __q6asm_memory_unmap(struct audio_client *ac, struct q6asm *a =3D dev_get_drvdata(ac->dev->parent); struct apr_pkt *pkt; int rc, pkt_size; - void *p; + void *p __free(kfree) =3D NULL; =20 if (ac->port[dir].mem_map_handle =3D=3D 0) { dev_err(ac->dev, "invalid mem handle\n"); @@ -358,14 +358,11 @@ static int __q6asm_memory_unmap(struct audio_client *= ac, mem_unmap->mem_map_handle =3D ac->port[dir].mem_map_handle; =20 rc =3D q6asm_apr_send_session_pkt(a, ac, pkt, 0); - if (rc < 0) { - kfree(pkt); + if (rc < 0) return rc; - } =20 ac->port[dir].mem_map_handle =3D 0; =20 - kfree(pkt); return 0; } =20 @@ -429,10 +426,10 @@ static int __q6asm_memory_map_regions(struct audio_cl= ient *ac, int dir, struct audio_port_data *port =3D NULL; struct audio_buffer *ab =3D NULL; struct apr_pkt *pkt; - void *p; + void *p __free(kfree) =3D NULL; unsigned long flags; uint32_t num_regions, buf_sz; - int rc, i, pkt_size; + int i, pkt_size; =20 if (is_contiguous) { num_regions =3D 1; @@ -479,12 +476,7 @@ static int __q6asm_memory_map_regions(struct audio_cli= ent *ac, int dir, } spin_unlock_irqrestore(&ac->lock, flags); =20 - rc =3D q6asm_apr_send_session_pkt(a, ac, pkt, - ASM_CMDRSP_SHARED_MEM_MAP_REGIONS); - - kfree(pkt); - - return rc; + return q6asm_apr_send_session_pkt(a, ac, pkt, ASM_CMDRSP_SHARED_MEM_MAP_R= EGIONS); } =20 /** @@ -930,12 +922,8 @@ int q6asm_open_write(struct audio_client *ac, uint32_t= stream_id, { struct asm_stream_cmd_open_write_v3 *open; struct apr_pkt *pkt; - void *p; - int rc, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(*open); - - p =3D kzalloc(pkt_size, GFP_KERNEL); + int rc, pkt_size =3D APR_HDR_SIZE + sizeof(*open); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1001,7 +989,6 @@ int q6asm_open_write(struct audio_client *ac, uint32_t= stream_id, ac->io_mode |=3D ASM_TUN_WRITE_IO_MODE; =20 err: - kfree(pkt); return rc; } EXPORT_SYMBOL_GPL(q6asm_open_write); @@ -1012,11 +999,8 @@ static int __q6asm_run(struct audio_client *ac, uint3= 2_t stream_id, { struct asm_session_cmd_run_v2 *run; struct apr_pkt *pkt; - int pkt_size, rc; - void *p; - - pkt_size =3D APR_HDR_SIZE + sizeof(*run); - p =3D kzalloc(pkt_size, GFP_ATOMIC); + int rc, pkt_size =3D APR_HDR_SIZE + sizeof(*run); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_ATOMIC); if (!p) return -ENOMEM; =20 @@ -1037,7 +1021,6 @@ static int __q6asm_run(struct audio_client *ac, uint3= 2_t stream_id, rc =3D 0; } =20 - kfree(pkt); return rc; } =20 @@ -1098,11 +1081,8 @@ int q6asm_media_format_block_multi_ch_pcm(struct aud= io_client *ac, struct asm_multi_channel_pcm_fmt_blk_v2 *fmt; struct apr_pkt *pkt; u8 *channel_mapping; - void *p; - int rc, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1125,16 +1105,11 @@ int q6asm_media_format_block_multi_ch_pcm(struct au= dio_client *ac, } else { if (q6dsp_map_channels(channel_mapping, channels)) { dev_err(ac->dev, " map channels failed %d\n", channels); - rc =3D -EINVAL; - goto err; + return -EINVAL; } } =20 - rc =3D q6asm_ac_send_cmd_sync(ac, pkt); - -err: - kfree(pkt); - return rc; + return q6asm_ac_send_cmd_sync(ac, pkt); } EXPORT_SYMBOL_GPL(q6asm_media_format_block_multi_ch_pcm); =20 @@ -1144,11 +1119,8 @@ int q6asm_stream_media_format_block_flac(struct audi= o_client *ac, { struct asm_flac_fmt_blk_v2 *fmt; struct apr_pkt *pkt; - void *p; - int rc, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1168,10 +1140,7 @@ int q6asm_stream_media_format_block_flac(struct audi= o_client *ac, fmt->max_frame_size =3D cfg->max_frame_size; fmt->sample_size =3D cfg->sample_size; =20 - rc =3D q6asm_ac_send_cmd_sync(ac, pkt); - kfree(pkt); - - return rc; + return q6asm_ac_send_cmd_sync(ac, pkt); } EXPORT_SYMBOL_GPL(q6asm_stream_media_format_block_flac); =20 @@ -1181,11 +1150,8 @@ int q6asm_stream_media_format_block_wma_v9(struct au= dio_client *ac, { struct asm_wmastdv9_fmt_blk_v2 *fmt; struct apr_pkt *pkt; - void *p; - int rc, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1206,10 +1172,7 @@ int q6asm_stream_media_format_block_wma_v9(struct au= dio_client *ac, fmt->enc_options =3D cfg->enc_options; fmt->reserved =3D 0; =20 - rc =3D q6asm_ac_send_cmd_sync(ac, pkt); - kfree(pkt); - - return rc; + return q6asm_ac_send_cmd_sync(ac, pkt); } EXPORT_SYMBOL_GPL(q6asm_stream_media_format_block_wma_v9); =20 @@ -1219,11 +1182,8 @@ int q6asm_stream_media_format_block_wma_v10(struct a= udio_client *ac, { struct asm_wmaprov10_fmt_blk_v2 *fmt; struct apr_pkt *pkt; - void *p; - int rc, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1245,10 +1205,7 @@ int q6asm_stream_media_format_block_wma_v10(struct a= udio_client *ac, fmt->advanced_enc_options1 =3D cfg->adv_enc_options; fmt->advanced_enc_options2 =3D cfg->adv_enc_options2; =20 - rc =3D q6asm_ac_send_cmd_sync(ac, pkt); - kfree(pkt); - - return rc; + return q6asm_ac_send_cmd_sync(ac, pkt); } EXPORT_SYMBOL_GPL(q6asm_stream_media_format_block_wma_v10); =20 @@ -1258,11 +1215,8 @@ int q6asm_stream_media_format_block_alac(struct audi= o_client *ac, { struct asm_alac_fmt_blk_v2 *fmt; struct apr_pkt *pkt; - void *p; - int rc, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1287,10 +1241,7 @@ int q6asm_stream_media_format_block_alac(struct audi= o_client *ac, fmt->mb =3D cfg->mb; fmt->kb =3D cfg->kb; =20 - rc =3D q6asm_ac_send_cmd_sync(ac, pkt); - kfree(pkt); - - return rc; + return q6asm_ac_send_cmd_sync(ac, pkt); } EXPORT_SYMBOL_GPL(q6asm_stream_media_format_block_alac); =20 @@ -1300,11 +1251,8 @@ int q6asm_stream_media_format_block_ape(struct audio= _client *ac, { struct asm_ape_fmt_blk_v2 *fmt; struct apr_pkt *pkt; - void *p; - int rc, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1327,10 +1275,7 @@ int q6asm_stream_media_format_block_ape(struct audio= _client *ac, fmt->sample_rate =3D cfg->sample_rate; fmt->seek_table_present =3D cfg->seek_table_present; =20 - rc =3D q6asm_ac_send_cmd_sync(ac, pkt); - kfree(pkt); - - return rc; + return q6asm_ac_send_cmd_sync(ac, pkt); } EXPORT_SYMBOL_GPL(q6asm_stream_media_format_block_ape); =20 @@ -1340,11 +1285,8 @@ static int q6asm_stream_remove_silence(struct audio_= client *ac, uint32_t stream_ { uint32_t *samples; struct apr_pkt *pkt; - void *p; - int rc, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(uint32_t); - p =3D kzalloc(pkt_size, GFP_ATOMIC); + int rc, pkt_size =3D APR_HDR_SIZE + sizeof(uint32_t); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_ATOMIC); if (!p) return -ENOMEM; =20 @@ -1359,8 +1301,6 @@ static int q6asm_stream_remove_silence(struct audio_c= lient *ac, uint32_t stream_ if (rc =3D=3D pkt_size) rc =3D 0; =20 - kfree(pkt); - return rc; } =20 @@ -1403,11 +1343,8 @@ int q6asm_enc_cfg_blk_pcm_format_support(struct audi= o_client *ac, struct apr_pkt *pkt; u8 *channel_mapping; u32 frames_per_buf =3D 0; - int pkt_size, rc; - void *p; - - pkt_size =3D APR_HDR_SIZE + sizeof(*enc_cfg); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*enc_cfg); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1428,15 +1365,10 @@ int q6asm_enc_cfg_blk_pcm_format_support(struct aud= io_client *ac, enc_cfg->is_signed =3D 1; channel_mapping =3D enc_cfg->channel_mapping; =20 - if (q6dsp_map_channels(channel_mapping, channels)) { - rc =3D -EINVAL; - goto err; - } + if (q6dsp_map_channels(channel_mapping, channels)) + return -EINVAL; =20 - rc =3D q6asm_ac_send_cmd_sync(ac, pkt); -err: - kfree(pkt); - return rc; + return q6asm_ac_send_cmd_sync(ac, pkt); } EXPORT_SYMBOL_GPL(q6asm_enc_cfg_blk_pcm_format_support); =20 @@ -1456,12 +1388,9 @@ int q6asm_read(struct audio_client *ac, uint32_t str= eam_id) struct audio_buffer *ab; struct apr_pkt *pkt; unsigned long flags; - int pkt_size; + int pkt_size =3D APR_HDR_SIZE + sizeof(*read); int rc =3D 0; - void *p; - - pkt_size =3D APR_HDR_SIZE + sizeof(*read); - p =3D kzalloc(pkt_size, GFP_ATOMIC); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_ATOMIC); if (!p) return -ENOMEM; =20 @@ -1493,7 +1422,6 @@ int q6asm_read(struct audio_client *ac, uint32_t stre= am_id) else pr_err("read op[0x%x]rc[%d]\n", pkt->hdr.opcode, rc); =20 - kfree(pkt); return rc; } EXPORT_SYMBOL_GPL(q6asm_read); @@ -1503,11 +1431,8 @@ static int __q6asm_open_read(struct audio_client *ac= , uint32_t stream_id, { struct asm_stream_cmd_open_read_v3 *open; struct apr_pkt *pkt; - int pkt_size, rc; - void *p; - - pkt_size =3D APR_HDR_SIZE + sizeof(*open); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*open); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1535,10 +1460,7 @@ static int __q6asm_open_read(struct audio_client *ac= , uint32_t stream_id, pr_err("Invalid format[%d]\n", format); } =20 - rc =3D q6asm_ac_send_cmd_sync(ac, pkt); - - kfree(pkt); - return rc; + return q6asm_ac_send_cmd_sync(ac, pkt); } =20 /** @@ -1578,12 +1500,9 @@ int q6asm_write_async(struct audio_client *ac, uint3= 2_t stream_id, uint32_t len, struct audio_buffer *ab; unsigned long flags; struct apr_pkt *pkt; - int pkt_size; + int pkt_size =3D APR_HDR_SIZE + sizeof(*write); int rc =3D 0; - void *p; - - pkt_size =3D APR_HDR_SIZE + sizeof(*write); - p =3D kzalloc(pkt_size, GFP_ATOMIC); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_ATOMIC); if (!p) return -ENOMEM; =20 @@ -1618,7 +1537,6 @@ int q6asm_write_async(struct audio_client *ac, uint32= _t stream_id, uint32_t len, if (rc =3D=3D pkt_size) rc =3D 0; =20 - kfree(pkt); return rc; } EXPORT_SYMBOL_GPL(q6asm_write_async); --=20 2.51.0 From nobody Sun Feb 8 18:44:15 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 DDA0F2C029D for ; Fri, 17 Oct 2025 08:56:36 +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=1760691398; cv=none; b=ZJ3tT8FvhMpINW3IIED0WL1MiL1mTwi2xsgjk3Ko0a9LXiQvLr0H9hhHi9b9sw1kUXExUw9HUBtx6Log0SlP2BjfTwCdIggQFOQPCEEzIHmSQ//B+7HWhaYHpmxJtKmnNfeiyQwFrTGhN9kFkAHPuYx4IbtabHtvdE2VNMmqgTQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760691398; c=relaxed/simple; bh=dLHz5GvCqsmxeiBqKMEL3HcMUOaRmWqxPH16ZJ+zr84=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=N+uu4679rWOLrsCVtFdzHLbNdRyjp9yaBQM8Mwo7DTRf27KPpjYJeUKeJhoZSP94q0vNclnqZplVt2DOKchAPKyzVlwJSJX5iqSWH3TAGcEr1rij8CTFIKKG/GqgmY6DFeOAPUiqTwpuGM7uKDtmZcWNCovsvTEU9KXhb4bqBvo= 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=MbRHWv50; 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="MbRHWv50" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59H8Igdx006342 for ; Fri, 17 Oct 2025 08:56:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=JitUmPpOE5T 5FCzl9njQ018JnbQNGz2uQiWhNK3tWOE=; b=MbRHWv50ntKOGmN0X9n6fxfL2ml 35Q9vv4Fv63oV4svLmEMWsGOyDNvScWj/RyIKtA4Upsd4qPcXHQQZqKIs69hojcZ rVinsqfYqmoAibeFmErewScQWjS+cgsG0K80HQyJjA/7HFINUWsmmqQBYz9oJtoc JV6GsGsAs+YdFwusKIY3xGH2xIpEC6edM+HaafKEMc7r1JuqkWEGVf7UIjfeJHoS jLZnfkQlaJm3gz9aigaoP2id2cnVy2lhif3JUKOwlOuFdgFUq6e+NodwHCO7DmQL MG22/grPjnsVxT/Q2vNjO/OTyOJzYH8Ur3cmLLDDj0hRoxc4Ts0M+BpyfGw== Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49s6mwwvns-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 17 Oct 2025 08:56:36 +0000 (GMT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-87c1f435b6bso20331626d6.1 for ; Fri, 17 Oct 2025 01:56:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760691395; x=1761296195; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JitUmPpOE5T5FCzl9njQ018JnbQNGz2uQiWhNK3tWOE=; b=RM+/RcYkUar5qgfZlfqoJYswiVWhGHZLv1KdjIqCzp7vaf+sbf+wefoQeAaDxKPmNt PSSma9h1to5P+fpTdVzyNGAQ4LuZIb3wbMpq+bBojqzZtx4PchyLVF3d37726GAU1Yxj B0BMzsESdVOoDfxnvdvsxQMFpj49bfC4js2CzfWo7mmnjY+ZSMFFWhsM38aAbUdqvo4m Oevb+pTYOYJXdEorIF5GDm4eOobFVY5Gaz1I9BJYEyTwf/ck1bkttRvGIeRXww4MXis4 gejQRoL6Le5qoRFgk0Z865swjCIe46ltZUC+Wg1uEQjDA3YUNhg677D8a2udVqJJNlrP Vw1A== X-Forwarded-Encrypted: i=1; AJvYcCWx48WY0zdyeYoPDLDq5xao8NMTHgkQw3vg+FeGwJPu40CDs4rW8DjkIOq2oXZm9fWKu5cEmpAKjQIsfHU=@vger.kernel.org X-Gm-Message-State: AOJu0Yw+t8dxrJrCg08xse+5GBVZPTmdFhOAg1iOspH9uoA409GIpbDE Vu+9XurW3wVsfAPu/H/WVm3D4D/pNUvay13I0V5rJnWqW88lsOywW7iGUlU0t0deoAqBH94BwO3 cwnw+sJU3WZcQ6iTR8vom/uXllEsH6CsipLFtXcjTA2+S5nGBYAJlxCCKQ8blfYyLwS4= X-Gm-Gg: ASbGncuMYEI4gYAC7nFDlu2QUznQw/ejV3EurYlCePr87uBQtjGU0Dkjziyo9JUkAHn mDrUhGIVJRwBi8PiaMXu206MDf87nMpKuGuL4V7l2PEMI6HZNpPBGJDi99zXAzXl45Nvj8vbpg+ r63hApH6ALGdpIwKly1ZP3HuBhpMtOh+Af9EBXjTEA6ripfaTLwKakTEo3gRHwYKmGyE+w2kSpY 6XAtyPYjIJ9Ik870kMyV9ejPiP42JFOK5VXXx7CnP2rcJaZ17wwUCv6eT47Vcb848Jp7JZPFSJG j1CxBk8lv6sOMMBLGwepefobPWLrSxucZcsLmF1DVGukywdxRz4J2/9rUn7tScCFaGQ5K8uSgqM fSc0EnWZsYjIa X-Received: by 2002:a05:622a:134a:b0:4e6:ef26:3152 with SMTP id d75a77b69052e-4e89d415399mr41172621cf.80.1760691394759; Fri, 17 Oct 2025 01:56:34 -0700 (PDT) X-Google-Smtp-Source: AGHT+IECLncEtQ/xMqZowWNexF5mITfqx6IZzM+n9Z8TxJParb7CY65kZ74qpDXSRgl56uflB/Cpyw== X-Received: by 2002:a05:622a:134a:b0:4e6:ef26:3152 with SMTP id d75a77b69052e-4e89d415399mr41172511cf.80.1760691394323; Fri, 17 Oct 2025 01:56:34 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444d919sm70764985e9.14.2025.10.17.01.56.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 01:56:33 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, alexey.klimov@linaro.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH 09/12] ASoC: qcom: q6afe: Use guard() for spin locks Date: Fri, 17 Oct 2025 09:53:04 +0100 Message-ID: <20251017085307.4325-10-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> 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-Spam-Details-Enc: AW1haW4tMjUxMDEzMDA4MyBTYWx0ZWRfX/LMu5dga6HS4 rhCIRicxnaXYrW1IPJUXj93GmesnSdbtMwfEgllvEN1KV98iaDmgb7i6SGmH/SCEGcTtkxRthF5 foRoBnF/TXZPsq1yGBLoEmhv1SevAGIZRTjuK/F0aHZL++s4K+xhqBcMMZKbeNc2YPLZVEhRxpg mtqXggREkRrcmGU7qTocAKt9S2nX7/iLRlBABBdZnRvr7qkYWyUnNr8ThwDCFmpjFMZDqV2KfD0 /hP0W07YttOlqjr8LnTCGiQvTfjixcP+BoQUJv5NeKafg6hxE2b6gVPb8w2ExMXZn9jLT/rDLv8 +nJDRblmT0i8DL1cxs1MJfpQPF5nu6vHNAHUxt/KB/IH6KcIvqY+GVxbG1glTOjZGb4WmcESfkX AaDX6i2Fo4ytqNpN0O2Ji/It4XzxKQ== X-Authority-Analysis: v=2.4 cv=Fr4IPmrq c=1 sm=1 tr=0 ts=68f204c4 cx=c_pps a=oc9J++0uMp73DTRD5QyR2A==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=RrrD4pAD4uqPltEmIwwA:9 a=iYH6xdkBrDN1Jqds4HTS:22 X-Proofpoint-GUID: ghy5rkPyPdVImKA3pu7RWDXKipp7GRoP X-Proofpoint-ORIG-GUID: ghy5rkPyPdVImKA3pu7RWDXKipp7GRoP X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-17_03,2025-10-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 spamscore=0 phishscore=0 malwarescore=0 adultscore=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510130083 Content-Type: text/plain; charset="utf-8" Clean up the code using guard() for spin locks. No functional changes, just cleanup. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6afe.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6afe.c b/sound/soc/qcom/qdsp6/q6afe.c index 56f85f1c2425..980851a12976 100644 --- a/sound/soc/qcom/qdsp6/q6afe.c +++ b/sound/soc/qcom/qdsp6/q6afe.c @@ -946,9 +946,8 @@ static struct q6afe_port *q6afe_find_port(struct q6afe = *afe, int token) { struct q6afe_port *p; struct q6afe_port *ret =3D NULL; - unsigned long flags; =20 - spin_lock_irqsave(&afe->port_list_lock, flags); + guard(spinlock)(&afe->port_list_lock); list_for_each_entry(p, &afe->port_list, node) if (p->token =3D=3D token) { ret =3D p; @@ -956,7 +955,6 @@ static struct q6afe_port *q6afe_find_port(struct q6afe = *afe, int token) break; } =20 - spin_unlock_irqrestore(&afe->port_list_lock, flags); return ret; } =20 @@ -1733,7 +1731,6 @@ struct q6afe_port *q6afe_port_get_from_id(struct devi= ce *dev, int id) int port_id; struct q6afe *afe =3D dev_get_drvdata(dev->parent); struct q6afe_port *port; - unsigned long flags; int cfg_type; =20 if (id < 0 || id >=3D AFE_PORT_MAX) { @@ -1810,9 +1807,8 @@ struct q6afe_port *q6afe_port_get_from_id(struct devi= ce *dev, int id) port->cfg_type =3D cfg_type; kref_init(&port->refcount); =20 - spin_lock_irqsave(&afe->port_list_lock, flags); + guard(spinlock)(&afe->port_list_lock); list_add_tail(&port->node, &afe->port_list); - spin_unlock_irqrestore(&afe->port_list_lock, flags); =20 return port; =20 --=20 2.51.0 From nobody Sun Feb 8 18:44:15 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 F03B32D7DD3 for ; Fri, 17 Oct 2025 08:56:37 +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=1760691400; cv=none; b=Xn0rUlJl3YE0SRXUOfCdEBMCLH4Z1zHijzdxdHxI2l8IrXzhgujH7hi1IcFgZGaIgPRbz3UihMKBaWkuaROLuOMhbggmQ7LpJKdZ6+gLGDms3qAgmUNvwk6+Aw/Us4VRlfYNrMXjO2us34ajdREueWOW61WiV6y+fkpbgA5V5Mg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760691400; c=relaxed/simple; bh=LESmruKeD2k8Y/UOmXpKXEPzU2PTrrL35FLqSlgIXnY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DW28edjAOrkGcCAyABPct8ublYPvoel2xwdnQ7jFyEeqhhB8xZJ7q+JFrsahDwMg+fjui4lZdADnFP4rlO/JqWEcS3GhEEyDTAl6gLafzKiWJ1s/8QZlUdJCCV0yGOXZ5i/2WYOtfhzE9nnJKpVFX36l//wtmc7SbgYEG1QBPsA= 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=Vvs8WIIa; 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="Vvs8WIIa" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59H87lUd002626 for ; Fri, 17 Oct 2025 08:56:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=Jds3ynaWk7m aZGNZjrrK77wITeMIM7azLHelkM5HaYE=; b=Vvs8WIIaA+MClM56+aqCOe6SuSr 1AbISnzMQpH3rhNAPS8FpKvEITIBIiq2LxEhryRNoCVUcWDlaqqhUSiZPBIbDIDZ Pr/bUyWeBK+56UtEViuutFvXskd/ajkFGF8o+l1jJrNge9CistZlldZr3HCYxtsv Go6iiXuIU2BngdgpnwRHXVLHK0r1qZIjopbgF+9/4H/kHzZr+SIt44h02hvI50Dh BkXDN/YJOstnq78wPy14n3FPd2Mv3vSAFDH8BmYggU5cxJ86Uz98wnFqFvMsG3mj wh03OIgvSnKAQTFV0L8t+O3+fnS4Ya/hrTgk4hr/gyt8GsSGVr2grBDybwQ== Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49qfd9bm9h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 17 Oct 2025 08:56:37 +0000 (GMT) Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-78e30eaca8eso73411916d6.2 for ; Fri, 17 Oct 2025 01:56:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760691396; x=1761296196; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Jds3ynaWk7maZGNZjrrK77wITeMIM7azLHelkM5HaYE=; b=QkWw5pPmUB5ePQTLAVYsP6LjBaPWiqQDCSzU3GbcOgFXyHvcX0FpfMTupMLMqb8uV9 SCQ8y4GX5GXgRVDqbkG3sfjVp6Cxazcy7dvqz16aqMnW7iM4XveYaaFM0ZSMK7TBjP02 8QyRyRK84nd4rhFukzEBFKKoxmNsrM31Z6dQ6DjnVEbtHIiQ7dTG6BN1+sMMteu1rW65 rkIhbvBJUmueLkBO9yk1fUVi3XJ7PUC4X6+gg+aXtS3YzdKQUgyGJex088fefXGEtcF8 D5Geec5xc9GXloFOkk0nUVLuIdrQA2NBSskmLXiSv5MxlE1PDa9STCCnPa32m5NJhXJ7 ZzHA== X-Forwarded-Encrypted: i=1; AJvYcCVDQdFm/tSA8j1Bc90c0grbtfwdKktvNClS3r3nF6UvObRe0TlUAV6POgmqL7Mol9JZ2PwaE4EJDXD/tAw=@vger.kernel.org X-Gm-Message-State: AOJu0YwkXqLhxN+7Z+fLaafvbZLMksbsKyKnYM19i4tKyNwuSvsHdXfY enxA5pQ0t3aP+PEZTdcBLzmLFeYf/C/zCpJp98KxpPUkTXPK1gQjc1DjamKF0k4F2lFvKSHgFU1 6USV8bRgLml7VdUXh4TFFPTkI3nYOKK9NjZu3woovNob50ybc3VAExlVYPHVDm4aY+fw= X-Gm-Gg: ASbGncveN1Rg/vlfLQDjVAUkVfM5mt+fDhF1Yqz/yrJYkEIk9oTgdVEPnMOZAO/SLAm hRALEFDMxoIx4XJJFMZbq+iSFj3+52eYa7SBRHSOQEnSLYQOjhsjBZnrkbnn1IKCOfBVMwQOv23 iW8LOYm3qxjr7IFQeCOWrfMUObW7Eb26VJ7sCqIUSSGlbHfOQb8xt84AWakm/5kc8KOdd3PahJ/ 4WnYbiU0rMpw22MMzcLkdAFy/HZY/QGvsd+QXSjRHwM+/pi3bnx2IP/u1yi0WcngFW5ONaaB0eW dwnwme1ld567sa/K5hdo+D28NkOgsLQAL04JuZuHSNLfwKCHZMt9eGcCq+LCvwcWKFGGRNJQkG3 Y1Vu5zKtB8w3r X-Received: by 2002:ac8:5749:0:b0:4dd:9798:38d9 with SMTP id d75a77b69052e-4e89d397004mr38905891cf.67.1760691395744; Fri, 17 Oct 2025 01:56:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHJT3vbnCxYuVgQ4mEr8+d9Mj708NZgxZGZG8reI6nw6g7Yp3T00H1A9aIFVKRbqUf7+MnIqw== X-Received: by 2002:ac8:5749:0:b0:4dd:9798:38d9 with SMTP id d75a77b69052e-4e89d397004mr38905791cf.67.1760691395327; Fri, 17 Oct 2025 01:56:35 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444d919sm70764985e9.14.2025.10.17.01.56.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 01:56:34 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, alexey.klimov@linaro.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH 10/12] ASoC: qcom: q6apm-dai: Use guard() for spin locks Date: Fri, 17 Oct 2025 09:53:05 +0100 Message-ID: <20251017085307.4325-11-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> 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-ORIG-GUID: eihBzCUAT3lHBtKG2MVgiBS888BCd2at X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDExMDAxOCBTYWx0ZWRfX6toxospcTzr0 A0T7IJh46DJ18XblF4yDf3T9LuQ3GofizoNjcNGB0DFf9jOxDzbqse09l9WM0ZZtH47ojGVOvL0 R+jtEPr1PBbfl7r+B8T4QhD23FaTn8BazpduuM3IURKYTzyZROrLCTImXPifk5n1S3mugUGqaG8 AyePiTcKP8siz4QYMXQIfL3WMEhdLwxswXcBfUVzwoRMfZVDiwhJH7rdGMX+Fl1xTBtIBgZ0P+f ApWmCI9zR89FwXj4G9Ym+34y1lVaTiQ3dreDp0MoQVIqhgwVKB6LK0pBj2AHqgnF0soz3r/AeG5 e/AKFZt1TDzjemvYEQ4BvLBF/E4NESYY6iSzNuL0lgjk09omTmhmFDeLqzrZqyohYk9nFyPntm4 TEqnTfqGwXXzP1mhIpiZznV9y5brkg== X-Proofpoint-GUID: eihBzCUAT3lHBtKG2MVgiBS888BCd2at X-Authority-Analysis: v=2.4 cv=PdTyRyhd c=1 sm=1 tr=0 ts=68f204c5 cx=c_pps a=UgVkIMxJMSkC9lv97toC5g==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=ctYtm_-0jrJ_p8CCq-gA:9 a=1HOtulTD9v-eNWfpl4qZ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-17_03,2025-10-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 bulkscore=0 clxscore=1015 adultscore=0 lowpriorityscore=0 impostorscore=0 priorityscore=1501 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510110018 Content-Type: text/plain; charset="utf-8" Clean up the code using guard() for spin locks. No functional changes, just cleanup. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6apm-dai.c | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6apm-dai.c b/sound/soc/qcom/qdsp6/q6apm-= dai.c index 4ecaff45c518..865fb0b3bc06 100644 --- a/sound/soc/qcom/qdsp6/q6apm-dai.c +++ b/sound/soc/qcom/qdsp6/q6apm-dai.c @@ -149,33 +149,28 @@ static void event_handler_compr(uint32_t opcode, uint= 32_t token, { struct q6apm_dai_rtd *prtd =3D priv; struct snd_compr_stream *substream =3D prtd->cstream; - unsigned long flags; uint32_t wflags =3D 0; uint64_t avail; uint32_t bytes_written, bytes_to_write; bool is_last_buffer =3D false; =20 + guard(spinlock_irqsave)(&prtd->lock); switch (opcode) { case APM_CLIENT_EVENT_CMD_EOS_DONE: - spin_lock_irqsave(&prtd->lock, flags); if (prtd->notify_on_drain) { snd_compr_drain_notify(prtd->cstream); prtd->notify_on_drain =3D false; } else { prtd->state =3D Q6APM_STREAM_STOPPED; } - spin_unlock_irqrestore(&prtd->lock, flags); break; case APM_CLIENT_EVENT_DATA_WRITE_DONE: - spin_lock_irqsave(&prtd->lock, flags); bytes_written =3D token >> APM_WRITE_TOKEN_LEN_SHIFT; prtd->copied_total +=3D bytes_written; snd_compr_fragment_elapsed(substream); =20 - if (prtd->state !=3D Q6APM_STREAM_RUNNING) { - spin_unlock_irqrestore(&prtd->lock, flags); + if (prtd->state !=3D Q6APM_STREAM_RUNNING) break; - } =20 avail =3D prtd->bytes_received - prtd->bytes_sent; =20 @@ -200,7 +195,6 @@ static void event_handler_compr(uint32_t opcode, uint32= _t token, audioreach_shared_memory_send_eos(prtd->graph); } =20 - spin_unlock_irqrestore(&prtd->lock, flags); break; default: break; @@ -581,14 +575,12 @@ static int q6apm_dai_compr_pointer(struct snd_soc_com= ponent *component, { struct snd_compr_runtime *runtime =3D stream->runtime; struct q6apm_dai_rtd *prtd =3D runtime->private_data; - unsigned long flags; uint64_t temp_copied_total; =20 - spin_lock_irqsave(&prtd->lock, flags); + guard(spinlock_irqsave)(&prtd->lock); tstamp->copied_total =3D prtd->copied_total; temp_copied_total =3D tstamp->copied_total; tstamp->byte_offset =3D do_div(temp_copied_total, prtd->pcm_size); - spin_unlock_irqrestore(&prtd->lock, flags); =20 return 0; } @@ -631,11 +623,9 @@ static int q6apm_dai_compr_ack(struct snd_soc_componen= t *component, struct snd_c { struct snd_compr_runtime *runtime =3D stream->runtime; struct q6apm_dai_rtd *prtd =3D runtime->private_data; - unsigned long flags; =20 - spin_lock_irqsave(&prtd->lock, flags); + guard(spinlock_irqsave)(&prtd->lock); prtd->bytes_received +=3D count; - spin_unlock_irqrestore(&prtd->lock, flags); =20 return count; } @@ -760,7 +750,6 @@ static int q6apm_compr_copy(struct snd_soc_component *c= omponent, struct snd_compr_runtime *runtime =3D stream->runtime; struct q6apm_dai_rtd *prtd =3D runtime->private_data; void *dstn; - unsigned long flags; size_t copy; u32 wflags =3D 0; u32 app_pointer; @@ -795,7 +784,7 @@ static int q6apm_compr_copy(struct snd_soc_component *c= omponent, return -EFAULT; } =20 - spin_lock_irqsave(&prtd->lock, flags); + guard(spinlock_irqsave)(&prtd->lock); bytes_in_flight =3D prtd->bytes_received - prtd->copied_total; =20 if (prtd->next_track) { @@ -818,8 +807,6 @@ static int q6apm_compr_copy(struct snd_soc_component *c= omponent, prtd->bytes_sent +=3D bytes_to_write; } =20 - spin_unlock_irqrestore(&prtd->lock, flags); - return count; } =20 --=20 2.51.0 From nobody Sun Feb 8 18:44:15 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 EB8912D837B for ; Fri, 17 Oct 2025 08:56:38 +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=1760691400; cv=none; b=D2TqTOwjrElpGwy99lvOaabBywjIqkTVcF+UnEHNK/6/0sB1rHCh/okVdDKw4Lo9vmCzKJqjNJQamOuLrouZulaA17zk7ClEUXRIoDkY2Xr5tXUOcYbA1sC6+YQFrqBqacGFQeydxnGbn5JLsvYZOeU6XTmYR1mgrY/aoWDyuRQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760691400; c=relaxed/simple; bh=xJ9ewBKmUOcp7y1OOXagWe0RLhZPnHfQRgccA5gcwCw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=G34H1VFd2vsXTdn9GJUPtW+Voz13RQeivR1VEwXIXH50Fz7YQ+SRbqtGS+SCqZb+k0QO20cQeYsxXrifPUtP/gOmtNRZqXsnCga1b7msFGFoEwnwmFxEJD0A5LsXRSyyDLk6NB+IjjVlFrBRsvQCVfD2A5147mEICitsqFww5e0= 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=Y+5pZSdK; 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="Y+5pZSdK" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59H8mImP008877 for ; Fri, 17 Oct 2025 08:56:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=HLTr0qwAyjy py8cQSzVdRdWFvvEMv8L8lE7ajdfrlhc=; b=Y+5pZSdKuMh+SRNrogEKtF6KYjd TozBO2qtdkfBE7Ztr9MWJ+4AwjifZWT1w2hmBY92nBjEaukcGdWWgiZQiC+PaSum pqYIjsMZePaPWRdUf8PMghtFxrw2Rq1mSiVCRktkXKFn7w15EZwnhnpOVKvyQ3RP /O4gHwPlSl7iwnZ0RTJFrCO2of/5ASDyP92Tp3NSkcMlkqjPGFyqY8uK+fcvl4XM 2SPIee9X6fu4ewNDouDsm3BZWExg6nlAtyWVdmVpGKUCFMQq3Lm2ybiefeDxP7qy Yh0ytmOc/QaNXSSuUTChmI1Om0PjwElxQmTp/53+CndtQ6LtAz5XXSp4mrA== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49rw1aqrvr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 17 Oct 2025 08:56:38 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-79a3c16b276so51882296d6.0 for ; Fri, 17 Oct 2025 01:56:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760691397; x=1761296197; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HLTr0qwAyjypy8cQSzVdRdWFvvEMv8L8lE7ajdfrlhc=; b=xT+iBYlot8V+wK6s96FZiWw6QlfnhcW3ziWJXj75GuDXbJJQe103kY5IEriEQnUqKH CCAF5h4bWBXjHcqp0+nQHBRFaISFRpIuA4zmUYUZjEnP5wPv1kv9nFFNzjPN48vMsM03 Dp9chJOgiZW5b5kuIZWHsA7erHjmsa5+l2GNNfz9I+CS+9v4t6qW882XbfCMoDV9XhhD wNlYHKEjYMj/Na5A9ugcFeqVSLfoWsyE7bRHkLb3+qAWTEUEk5sUAFaTuc/ApQlq6cgA 9ScZMijgqXXmRNP8l/yRYSZiL+C8k+BEIevMnIouCepx4wuN2Zso9ibX/hoJM7tGgAL5 J+nQ== X-Forwarded-Encrypted: i=1; AJvYcCUl5V8Jo32vxYZSk7CHE2OT+ev2SotHv0iXR8DcdHaKk9B4jd7JVLAiEtCNbuOGEmA+GE1sqwT5xJB3x6k=@vger.kernel.org X-Gm-Message-State: AOJu0YzaP692RpqFZJhatLRNXc/Ixp2aL3hspBoqTYmHalfJo0bPOtOs suFjrhaEEJYNukPeL0lmJh/ilaAZ8azFo1U+AlJGVLoec6s2HZ6mkR/saVksEo57z4MiZPujmjP vxHiPll8jdu0w42gPtz31AWbrWX5El1h38/y1idiWH6WZJ6U1CfFPFZJ3xQ+8NtyU8dw= X-Gm-Gg: ASbGncsiTZeSFAeH9qCcvFDxo1VKg9rmlh9l/G2Jz2KZm9kgUvNjq3GtW2vqzp+R+O+ uad4ZOF+jfd7412xZsre1atJaGnbRwBs3b+c2C6I95Df1sgCfoeWito8UUqAUK1YpfaFtzSf6V2 3480UBw2uUI/3qghtHoxrqvs/Ov5nzh4tMw3pIySi3nH1FGRHdnrSsEu/y2ImYc83A/zFIx4t0X BrHfrSdqWaPp6CCDicDktYYMU9c2fiO6yqcJUthFEVl1J09NjvT9pEJFcuRwUSp2mqhgeSl9Nz2 hHlKMdIvmhtv2uPMYKU6diLbvdMnWt7Dvbt1+JGKrNnr0WER/r6qAHyyJzHZHPHgVaqn+pNh4Yd CXtbZC260UioJ X-Received: by 2002:ac8:7c54:0:b0:4da:3218:e8da with SMTP id d75a77b69052e-4e89d263059mr42429421cf.17.1760691396916; Fri, 17 Oct 2025 01:56:36 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEGiJl3aHFmjmNgCLDQr4OtAu7l19M62+p30JfjEUZEfWKYdayPHQpd/eRhXsqwlIUUFFwADg== X-Received: by 2002:ac8:7c54:0:b0:4da:3218:e8da with SMTP id d75a77b69052e-4e89d263059mr42429211cf.17.1760691396380; Fri, 17 Oct 2025 01:56:36 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444d919sm70764985e9.14.2025.10.17.01.56.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 01:56:35 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, alexey.klimov@linaro.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH 11/12] ASoC: qcom: q6asm-dai: Use guard() for spin locks Date: Fri, 17 Oct 2025 09:53:06 +0100 Message-ID: <20251017085307.4325-12-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> 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-Authority-Analysis: v=2.4 cv=K88v3iWI c=1 sm=1 tr=0 ts=68f204c6 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=xYGVKCReuHkqpmdgNokA:9 a=pJ04lnu7RYOZP9TFuWaZ:22 X-Proofpoint-GUID: rFMm7HPfkh5ue0pxcIuxPxtjJpbv7Kmn X-Proofpoint-ORIG-GUID: rFMm7HPfkh5ue0pxcIuxPxtjJpbv7Kmn X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDEzMDAzNSBTYWx0ZWRfXy6SCcKKrveZ9 Ry0nnigqtMFCOhcGOUf2hH83Q2PcJqU4oeOGrEHK1Er6uh/qvDZMDIPTcrLwYEgR9LSAU144lV3 dOE/szfXtBhbto9VgFxcaE4cn1jJ6Mgif62x/VmNOAaEIRMYZPg9NP1uqP5lnNPf/E7Nib1LoJg zUOxJXwFgx87URmWNGwzESSvhMBhyekq3IkT294tpRRkFSoeLbb+Tu+b23TZyb/2RTqPJQ8hd0U /ft5k2wEj2MqgFUsAwLksckg8wFWFvHLj12/SSWQNf3WQVrgs6s4t7tgHzLEShQtkuc0mxorDW4 h2emH8ok2d60s+X+1OeeILTibWvvX5ISgabgZatnzUpzit61S3Owne2HW5OPHenvmtdSqpToMUG Wxl+CsSSc55y2Lunb+FrWDlQOGC9MQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-17_03,2025-10-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 impostorscore=0 priorityscore=1501 phishscore=0 adultscore=0 clxscore=1015 bulkscore=0 suspectscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510130035 Content-Type: text/plain; charset="utf-8" Clean up the code using guard() for spin locks. No functional changes, just cleanup. Signed-off-by: Srinivas Kandagatla Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6asm-dai.c | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6asm-dai.c b/sound/soc/qcom/qdsp6/q6asm-= dai.c index b616ce316d2f..665a5d1ec4cf 100644 --- a/sound/soc/qcom/qdsp6/q6asm-dai.c +++ b/sound/soc/qcom/qdsp6/q6asm-dai.c @@ -493,15 +493,15 @@ static void compress_event_handler(uint32_t opcode, u= int32_t token, { struct q6asm_dai_rtd *prtd =3D priv; struct snd_compr_stream *substream =3D prtd->cstream; - unsigned long flags; u32 wflags =3D 0; uint64_t avail; uint32_t bytes_written, bytes_to_write; bool is_last_buffer =3D false; =20 + guard(spinlock_irqsave)(&prtd->lock); + switch (opcode) { case ASM_CLIENT_EVENT_CMD_RUN_DONE: - spin_lock_irqsave(&prtd->lock, flags); if (!prtd->bytes_sent) { q6asm_stream_remove_initial_silence(prtd->audio_client, prtd->stream_id, @@ -512,11 +512,9 @@ static void compress_event_handler(uint32_t opcode, ui= nt32_t token, prtd->bytes_sent +=3D prtd->pcm_count; } =20 - spin_unlock_irqrestore(&prtd->lock, flags); break; =20 case ASM_CLIENT_EVENT_CMD_EOS_DONE: - spin_lock_irqsave(&prtd->lock, flags); if (prtd->notify_on_drain) { if (substream->partial_drain) { /* @@ -539,20 +537,16 @@ static void compress_event_handler(uint32_t opcode, u= int32_t token, } else { prtd->state =3D Q6ASM_STREAM_STOPPED; } - spin_unlock_irqrestore(&prtd->lock, flags); break; =20 case ASM_CLIENT_EVENT_DATA_WRITE_DONE: - spin_lock_irqsave(&prtd->lock, flags); =20 bytes_written =3D token >> ASM_WRITE_TOKEN_LEN_SHIFT; prtd->copied_total +=3D bytes_written; snd_compr_fragment_elapsed(substream); =20 - if (prtd->state !=3D Q6ASM_STREAM_RUNNING) { - spin_unlock_irqrestore(&prtd->lock, flags); + if (prtd->state !=3D Q6ASM_STREAM_RUNNING) break; - } =20 avail =3D prtd->bytes_received - prtd->bytes_sent; if (avail > prtd->pcm_count) { @@ -581,7 +575,6 @@ static void compress_event_handler(uint32_t opcode, uin= t32_t token, q6asm_cmd_nowait(prtd->audio_client, prtd->stream_id, CMD_EOS); =20 - spin_unlock_irqrestore(&prtd->lock, flags); break; =20 default: @@ -1031,17 +1024,14 @@ static int q6asm_dai_compr_pointer(struct snd_soc_c= omponent *component, { struct snd_compr_runtime *runtime =3D stream->runtime; struct q6asm_dai_rtd *prtd =3D runtime->private_data; - unsigned long flags; uint64_t temp_copied_total; =20 - spin_lock_irqsave(&prtd->lock, flags); + guard(spinlock_irqsave)(&prtd->lock); =20 tstamp->copied_total =3D prtd->copied_total; temp_copied_total =3D tstamp->copied_total; tstamp->byte_offset =3D do_div(temp_copied_total, prtd->pcm_size); =20 - spin_unlock_irqrestore(&prtd->lock, flags); - return 0; } =20 @@ -1051,7 +1041,6 @@ static int q6asm_compr_copy(struct snd_soc_component = *component, { struct snd_compr_runtime *runtime =3D stream->runtime; struct q6asm_dai_rtd *prtd =3D runtime->private_data; - unsigned long flags; u32 wflags =3D 0; uint64_t avail, bytes_in_flight =3D 0; void *dstn; @@ -1087,7 +1076,7 @@ static int q6asm_compr_copy(struct snd_soc_component = *component, return -EFAULT; } =20 - spin_lock_irqsave(&prtd->lock, flags); + guard(spinlock_irqsave)(&prtd->lock); =20 bytes_in_flight =3D prtd->bytes_received - prtd->copied_total; =20 @@ -1113,8 +1102,6 @@ static int q6asm_compr_copy(struct snd_soc_component = *component, prtd->bytes_sent +=3D bytes_to_write; } =20 - spin_unlock_irqrestore(&prtd->lock, flags); - return count; } =20 --=20 2.51.0 From nobody Sun Feb 8 18:44:15 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 6D49A2D7DFF for ; Fri, 17 Oct 2025 08:56:40 +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=1760691402; cv=none; b=D4IktntKsW7G730l4vuCgelO6/uR5HYSn4ofpF0hzzuHiNVGljAJ7ytdd7w3hDdbX1uDQAy4AVO4fBbtiDUzUJeYB+HiaLbUhvBT5kTHPIKwXzAoxHw4kPy2Afqc/nPJEfuonrylgolu6sO4YFjp1icGsuPFyfzk7FPL7yVGe0A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760691402; c=relaxed/simple; bh=P19330s2rEI12H+hFUT0x7xmbf//n4xsYyxteQ0dyh0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UFpG8dBS0JFDVTGi5g698E0XFS7Ik9T6u0y4XicnTOs9gLQHzxrzijBlUc2b70kDZU/8cHBs+1BUQ+8h2Yg7aCmPP9SaBI5rrdtOuIklln6+TOGmL63xEBV1NxUlT3jOfSmibFrm7NyfKVe6k1JQjB28e3HrWXGy63M9JO6IzEo= 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=abupiNi+; 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="abupiNi+" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59H8SNQc006081 for ; Fri, 17 Oct 2025 08:56:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=Vp8Tre/TUw7 lskgMkX0Rr2AnYlSGvl2YlZcKg+3d5Ok=; b=abupiNi+KfcKfFL9GAyfvYz7rfd uaS2UxF9ngg9P/2nIS/qYCvoG5pFP9quKmtM37Xk4E4FLdcbOwJJ5cSs5bWTY/An MuX02IcpO/NHQ4LIpw19KGbwIh6PN+YFZ4JzYSpOVrNRk+GSKXHfU+mw7goD6fjR 2lVVeBu4Rs6tKMAc6JgWsYNEoPalaqzp4y58NMHk8wlbjxm8Dg9gmIcpCpqJZnCA LobEtxDeW5rloLsO0p9FSfkCYxmHUnTQoxNqBeB0RfrxyxIJvCxsLipS1RkoUuC2 RSwYaEI7kqk4WKzTm/GNSxjiSHG0bTail0Kdn/w2yD+FoPHgCQL54z22viQ== Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49s6mwwvp2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 17 Oct 2025 08:56:39 +0000 (GMT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-818bf399f8aso79571806d6.2 for ; Fri, 17 Oct 2025 01:56:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760691398; x=1761296198; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Vp8Tre/TUw7lskgMkX0Rr2AnYlSGvl2YlZcKg+3d5Ok=; b=kPaXg5AxB2qI5jr0gVAZ9rFuOh73T9X8oxNG/IfVE/xKwp4cn9jCjmPF9VLMB54L8D vUoFsuDORGFikmBnv3PEhH/yllXUA2M+gbAa1U0OdfReGNXd3eWCa0pYd3oC9xVUGIg7 Q0yaVM1fpE2ptlJChsABz3KDhGqzziZ9Ojul+CDUQUQrLVMuOgcpoI56tPs9r0THUOos ZAElTZODCOdvn+pWgbhVbPNDS1nWLPvLYtsO3B5KCSWNWBr1l588+23t3+EbQtaVeKhJ NqHvIEf8TjgB7fxBYTNoJ+p47JKIT8tvnBdV4sgVJOOTLyLnJ2zjh9SNySEHjSbGFE5o dheA== X-Forwarded-Encrypted: i=1; AJvYcCWTOVi4pn2nuPGg6+KaeopEm1UnOG89kr+cOf5nG5XocGb8xFsHqbVSBO0nOkC0oFOR2ajfMXcmQUR8RLg=@vger.kernel.org X-Gm-Message-State: AOJu0YxoZUHULLmx7JkqViIi+z91lAPKWai/w82Phx8KhBmYDyJj9Ldc rG2SuBqTnYi1IloILKabxGGbYC7M35xghfphfg+7/ScEYOa4+TUc9F+bJtjcZ5iOx5vwluqKCk9 BlLjXhQV/qWtHBsM+w72Dq+VhoKUX4pFIh2H1ZmH04YeDokrMuYV6huYZqYwQB8Tl4Yw= X-Gm-Gg: ASbGncszTaqhaUjppAnZRM5MQcuqVnIz4Zu7IWwqO+z5dlqE/6fHtop2m7mTDHp+ncn Pyi8KoE9rhoA1doSjDFCQVBzvCRJeZRA78shSWCMQKgxw/avXP40lkABmf8anatzSqBOW2ojHmf WXn49Sw55OwCBkj+wnDsuViiyOEBEBlx1A3xnEpLLbPT2mqVVXrJ5UNRR4jgS8atNrhbLQA4Utt zunU1hg3Kpp6eOxJSpeRK9/e+AqHWy2lE9rHjukFNo+3kiT74nD/ljAWhetMoP6uLQEiv3SuqpR JKajtPMke9G7baUP+1Rgq1tQE24Go0mRZMS+JfTvHKp/JPsUDRSENI2X3TSqVuMnLzreEtsMtIq X9ixEVfTajdsG X-Received: by 2002:a05:622a:14f:b0:4e8:91df:63bd with SMTP id d75a77b69052e-4e89d076cddmr41100561cf.0.1760691398294; Fri, 17 Oct 2025 01:56:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH6gPcL0Z+5GM2WlrbbQ7u4fSCPPFGZINJjyo6aTt08/qvGlm1JGSXEJpXOHTxKsT9HVs4i3g== X-Received: by 2002:a05:622a:14f:b0:4e8:91df:63bd with SMTP id d75a77b69052e-4e89d076cddmr41100391cf.0.1760691397817; Fri, 17 Oct 2025 01:56:37 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4711444d919sm70764985e9.14.2025.10.17.01.56.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 01:56:37 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, alexey.klimov@linaro.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH 12/12] ASoC: qcom: q6asm: Use guard() for spin locks Date: Fri, 17 Oct 2025 09:53:07 +0100 Message-ID: <20251017085307.4325-13-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251017085307.4325-1-srinivas.kandagatla@oss.qualcomm.com> 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-Spam-Details-Enc: AW1haW4tMjUxMDEzMDA4MyBTYWx0ZWRfXwgLGKLOurQLt lPDjolvCuy7rgS5uSssQG03ij3a7BGee91SnykHvVLxA9px4AzxhXWzwKXn5okrfNfhwO8RTMuN 3c+1ZBTpiSw+DqaJ9dvO7XWUoBjpT9Jv+ji044ItLgpYYia732qpixA1+DDjtItkGOHC0J+ub4a vy5Kfbz9ferSFZYpU8yPd+yuBjU/BHQWAEYTnInZE+oxnRLYY9qf1SQr5lT/FfIdg8VqWKgJ89U YtynAhqEsr5921zUhILuYTyZQUdeuR21cEw3FDLrVDqNV5PHormkaUoFjG1O56fdz5s0ZhOSEvo VnVcTQ/HG8/k52UtvovzuE0pYKc2MHZWBGGkw7R6NylApWHxZnNNdt1mN9EDdE81x5v0KK7K5lN ZfX8TSvdfRbMBpOpgV94r3bZBcRPxg== X-Authority-Analysis: v=2.4 cv=Fr4IPmrq c=1 sm=1 tr=0 ts=68f204c7 cx=c_pps a=oc9J++0uMp73DTRD5QyR2A==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=C-aEvXguSqPNF6A64mIA:9 a=iYH6xdkBrDN1Jqds4HTS:22 X-Proofpoint-GUID: or2IToP6aKVcpg-f2Bs_Rr1ppxVXr8y3 X-Proofpoint-ORIG-GUID: or2IToP6aKVcpg-f2Bs_Rr1ppxVXr8y3 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-17_03,2025-10-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 spamscore=0 phishscore=0 malwarescore=0 adultscore=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510130083 Content-Type: text/plain; charset="utf-8" Clean up the code using guard() for spin locks. No functional changes, just cleanup. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6asm.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6asm.c b/sound/soc/qcom/qdsp6/q6asm.c index 366fe8a8387f..7c9d1494e8b9 100644 --- a/sound/soc/qcom/qdsp6/q6asm.c +++ b/sound/soc/qcom/qdsp6/q6asm.c @@ -569,9 +569,8 @@ static struct audio_client *q6asm_get_audio_client(stru= ct q6asm *a, int session_id) { struct audio_client *ac =3D NULL; - unsigned long flags; =20 - spin_lock_irqsave(&a->slock, flags); + guard(spinlock_irqsave)(&a->slock); if ((session_id <=3D 0) || (session_id > MAX_SESSIONS)) { dev_err(a->dev, "invalid session: %d\n", session_id); goto err; @@ -586,7 +585,6 @@ static struct audio_client *q6asm_get_audio_client(stru= ct q6asm *a, ac =3D a->session[session_id]; kref_get(&ac->refcount); err: - spin_unlock_irqrestore(&a->slock, flags); return ac; } =20 @@ -666,15 +664,13 @@ static int32_t q6asm_stream_callback(struct apr_devic= e *adev, client_event =3D ASM_CLIENT_EVENT_DATA_WRITE_DONE; if (ac->io_mode & ASM_SYNC_IO_MODE) { phys_addr_t phys; - unsigned long flags; int token =3D hdr->token & ASM_WRITE_TOKEN_MASK; =20 - spin_lock_irqsave(&ac->lock, flags); + guard(spinlock_irqsave)(&ac->lock); =20 port =3D &ac->port[SNDRV_PCM_STREAM_PLAYBACK]; =20 if (!port->buf) { - spin_unlock_irqrestore(&ac->lock, flags); ret =3D 0; goto done; } @@ -685,24 +681,21 @@ static int32_t q6asm_stream_callback(struct apr_devic= e *adev, upper_32_bits(phys) !=3D result->status) { dev_err(ac->dev, "Expected addr %pa\n", &port->buf[token].phys); - spin_unlock_irqrestore(&ac->lock, flags); ret =3D -EINVAL; goto done; } - spin_unlock_irqrestore(&ac->lock, flags); + atomic_set(&port->hw_ptr, token + 1); } break; case ASM_DATA_EVENT_READ_DONE_V2: client_event =3D ASM_CLIENT_EVENT_DATA_READ_DONE; if (ac->io_mode & ASM_SYNC_IO_MODE) { struct asm_data_cmd_read_v2_done *done =3D data->payload; - unsigned long flags; phys_addr_t phys; =20 - spin_lock_irqsave(&ac->lock, flags); + guard(spinlock_irqsave)(&ac->lock); port =3D &ac->port[SNDRV_PCM_STREAM_CAPTURE]; if (!port->buf) { - spin_unlock_irqrestore(&ac->lock, flags); ret =3D 0; goto done; } @@ -715,11 +708,9 @@ static int32_t q6asm_stream_callback(struct apr_device= *adev, &port->buf[hdr->token].phys, done->buf_addr_lsw, done->buf_addr_msw); - spin_unlock_irqrestore(&ac->lock, flags); ret =3D -EINVAL; goto done; } - spin_unlock_irqrestore(&ac->lock, flags); } =20 break; @@ -1544,14 +1535,12 @@ EXPORT_SYMBOL_GPL(q6asm_write_async); static void q6asm_reset_buf_state(struct audio_client *ac) { struct audio_port_data *port; - unsigned long flags; =20 - spin_lock_irqsave(&ac->lock, flags); + guard(spinlock_irqsave)(&ac->lock); port =3D &ac->port[SNDRV_PCM_STREAM_PLAYBACK]; port->dsp_buf =3D 0; port =3D &ac->port[SNDRV_PCM_STREAM_CAPTURE]; port->dsp_buf =3D 0; - spin_unlock_irqrestore(&ac->lock, flags); } =20 static int __q6asm_cmd(struct audio_client *ac, uint32_t stream_id, int cm= d, --=20 2.51.0