From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 15E84270545 for ; Sun, 26 Apr 2026 21:03:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777237404; cv=none; b=uBupFuyZy/OX7nAjQeIfJccCWuk4rxsV6sjHd5ZwlQugOZc1/cSrGPFndD6Vfe+vqpTIQ2Czw837RSYOz5pu1gIKPm7Le9QvLYThEAW0znHGZmcXRsLm+Ed6q3TrFkdJ9PPfuQbpKZajzld5GtCnxpi/tH1rMJdSRgQHqkT2xO8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777237404; c=relaxed/simple; bh=nDAHUl8LbqkMx2jGaC+t193qiEUgqoec6Fx8K0ArPn0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=luQEZk7p4FrOtS3CaanhYBs5rXD+KDdGnK+9UEN5M1Ak6V4obBil6kU/tC9X7tlE0d5xN+ctu8/pbnvTggrX1b0NYGUsA6a3BYXrgIo/IhxxkvdiQHunHtxD8NPsmK2/NvdI073CokoKDclH92xtkttcuN93JPK5jUT6//ITNmo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=MdVqwF4J; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MdVqwF4J" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-4852a9c6309so87988385e9.0 for ; Sun, 26 Apr 2026 14:03:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777237401; x=1777842201; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=xZ30A4JRrqrMCt4Ckf3/WljJoHffiX5vavkFJli0OJM=; b=MdVqwF4JYtcKeUNAaceT7wyMisvEYx1abwYYjUAuNSdhV8OTNKLckdhMDsGEPEuZdB a4bKXYIn0Sd+gr38VgpxI4kfhEAA0Rl6PKtll6C+CJ7jzl/CUS0G5ug8+95s/eKlFdRq YgShg1G8/rDEqe9cf4CeGWTW2yLCcSQHI2NSWbxaj5dLfKMLDc4q1dnoKmmwXo6wfmor C/X1qHUqSLjGW6LJ41Ax9+qO4TmIn2a462C2H21dRyJKglkYtGCJDpsR3OxtwgJH1cmS w8/he/x6YE9B/H74xcZzCMbtmw04N1Z5ifHdwFUlkn5i23ag7uk3UVJfOLTAEkvDfzvU 00Jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777237401; x=1777842201; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=xZ30A4JRrqrMCt4Ckf3/WljJoHffiX5vavkFJli0OJM=; b=ohw+S8vhugoCXxHma06Xz+0Mgyg3J1sgAo1d/92sVJyVfx9m4y5zBaxjVCtFAcI0Uk t4LD5e0iXI1lh6g/Rqrm4t9rMCY6m4FtZHvM7qB/Atg8thj+svagaFqyaCw1MgnsLx/d 0BogE9/sjnCeXsMkuvg/3QotWPVdtcx/SAfVrK2RmrlUN5umzc6BjkeJtn9VrNdsIsIY JdLgJzMDzIKI/0LhpbwPEUy6IfCqOYIN98tJVRymjTRg3RZcNOqfnaJOsi8NBnJRP47V p3odIlKjIjEKJ2pUV+QhFt+Vcc0eeXy5pJDKomY0GvhWMhqDDeAsctVRwV8zMjO3KVrQ tScw== X-Forwarded-Encrypted: i=1; AFNElJ+4PftTKkmMiu7zKRqNcUsOrxS4TA5v8U4dygp08D455I1JKKqmwxAdQShaCGEZXO95/OK4iryMHGs3yrA=@vger.kernel.org X-Gm-Message-State: AOJu0YwZjYWWou1lX5/g1j4CEPLX7EA30UIgVQ/COsDtbBNw7sbbnV0E 6JmotuCPlz5UWzNHGCqu1F4ct7LRmUfcktyEbecZ1roxVY9GpPK3K0bEjAhyGGZa6desLQ== X-Gm-Gg: AeBDieu1+9MoiQ8uGsGoJi0Xg6RTIyPCwKKVx8Pkc/KZTMRQ2pITtlJfQummG0XLi/b N6IZksOQEAOBEFt9a57UI0BEhhXoYB/PwFbA0UlNBiwp0mKPhoPw/ozUZJom2N5MoucBr7pyZJQ eJzhIy39EVc/rfsi9f4HS/Xaq+I+iao+KYTVBJafzi5mim9jSMziMGRtYqBAbB5cmXx1qvLQIu1 EsiuU31HsSTLjUd/pL4e/F1RW6KZqG/yuJwp8lyNhyVlR502lPbzmHkKinXY84KrZho8E7nkGrC qP8Qt/XRY67KbKg8ROZhVBviqetwNCe8yO4scnXiQXPlle0NpycRObKywIAJNv11Q2Xua3Xj3/p 0OButm4v2yNdS13zBWXSYn1EnlX1Y+360uIdsDcNEchTLYI1Uro2asy53iWb11GLLMVDm0R/E7/ fUtintw0ALnJx6gi62dQVO2erJGbxm2SIdTKfPj+0ITQJR3N+lZ+lL8/mV1rSvCfQrKo5s X-Received: by 2002:a05:600c:4a15:b0:489:1aed:1658 with SMTP id 5b1f17b1804b1-4891aed16d8mr256485525e9.23.1777237401330; Sun, 26 Apr 2026 14:03:21 -0700 (PDT) Received: from nixos.numericable.fr (38.42.3.89.rev.sfr.net. [89.3.42.38]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a6114f2cfsm81640525e9.35.2026.04.26.14.03.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 14:03:20 -0700 (PDT) From: Titouan Ameline de Cadeville To: tudor.ambarus@linaro.org Cc: krzk@kernel.org, alim.akhtar@samsung.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Titouan Ameline de Cadeville Subject: [PATCH] firmware: samsung: fix stale response flag in acpm_prepare_xfer() Date: Sun, 26 Apr 2026 23:02:55 +0200 Message-ID: <20260426210255.73674-1-titouan.ameline@gmail.com> X-Mailer: git-send-email 2.44.2 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit acpm_prepare_xfer() only ever set rx_data->response to true, never false. A reused sequence number slot could therefore inherit a stale true from a previous transfer that expected a response, causing acpm_get_rx() to enter the response-copy path for a fire-and-forget transfer whose rxd is NULL. Unconditionally assign the correct boolean value so the slot is fully reset on every reuse. Fixes: a88927b534ba ("firmware: add Exynos ACPM protocol driver") Signed-off-by: Titouan Ameline de Cadeville --- drivers/firmware/samsung/exynos-acpm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/firmware/samsung/exynos-acpm.c b/drivers/firmware/samsung/exynos-acpm.c index 16c46ed60837..2fee6bb60efc 100644 --- a/drivers/firmware/samsung/exynos-acpm.c +++ b/drivers/firmware/samsung/exynos-acpm.c @@ -380,8 +380,7 @@ static void acpm_prepare_xfer(struct acpm_chan *achan, /* Clear data for upcoming responses */ rx_data = &achan->rx_data[achan->seqnum - 1]; memset(rx_data->cmd, 0, sizeof(*rx_data->cmd) * rx_data->n_cmd); - if (xfer->rxd) - rx_data->response = true; + rx_data->response = !!xfer->rxd; /* Flag the index based on seqnum. (seqnum: 1~63, bitmap: 0~62) */ set_bit(achan->seqnum - 1, achan->bitmap_seqnum); -- 2.44.2