From nobody Mon Apr 13 21:01:10 2026 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) (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 B5CBE19E98D for ; Wed, 4 Mar 2026 12:47:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772628460; cv=none; b=DdduyzSwfu/yiKGAat2mQlO/rC/Mr2gZUZF2GcKkTSV9mo0daoGb3lK2PM/NhE9n2UOCHGsvuM683SdU7yrO4QmxKx8AGf+rhy0SQjW4fcLNO7zTlD5oWASqPlssFXcwTpgg+FNa2bZHmG0EjsH6YCRkccB47Z63HCRDXByoIBc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772628460; c=relaxed/simple; bh=bhwo7r9j37LyAs4Cos8ri5eXa2weRve1tYt/Mk3XGVE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=a7lY78Z2AUwM+UQdMLtENmLrG23X6pWakOvQAD01pPttvNWkaZ8ncTMX8tekHDaxdEpw8eLZuiPG04QvD/fVJnwuY/dO3XGeXRXQUcsj5PN2owB+9FU0gQQBV5Y6SM8lh62HGHXdRnMZgNSQHtFz2pqwvqo+B7yeNOiBPPFfrlw= 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=Cp/ak8/W; arc=none smtp.client-ip=209.85.210.175 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="Cp/ak8/W" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-824b05d2786so5485800b3a.2 for ; Wed, 04 Mar 2026 04:47:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772628459; x=1773233259; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=gqJ5CYeF/S+wuXTqSQYoaQnBXp96lA01eWpg1TT40+g=; b=Cp/ak8/WCQ0KnkrRfKqT2b53aBpQGoR7Jn7KUXn7s82FO5Wi2ddDnmfAdlDHvFC7GI zXDaH2PsePZBgNdhOjtHrsLkX2mR61wZxvO7nNm30VBAJ5PrR9eEQUyteGIwfZ3CiNEA 9u/8YZKEygvKPU+KqHbrM8Fgh1wCyP6vi4b0KUliwtwzeLMHweUAeUIsxt/OCPXHIVyT 3Y6bKvilO4TqU3WTkg4nG9twwZKv3SJbbwZlWuD3S1QGebdo6svWSlOLrfh0OeH4WMmj mD7dlxo4CU2iVzAzS5md1GfuLtLJYU8FFZjdD73DDA+7E0+rGt3+hXD/FH2iBJ5WbiUj JFsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772628459; x=1773233259; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=gqJ5CYeF/S+wuXTqSQYoaQnBXp96lA01eWpg1TT40+g=; b=SICx9YsS/iM6JBJVUXct/JKVOGiHJOYJzNKIOVoKYC6h5tSO3OkDgMoLfq6jELvP2k h1xINkbY+N6bUBVMWMpp8dPBhBuNEYukNKVPvyL0rXBr8R/jEdTwbo10tJtDO4cFYuse mbChvUYrfIdfmdiUDei89863eHcXW+hiJ5xAzTBMRfqorBfSvCfRHFMrOCNerSCwU/YV OxgRjmy6KeoJ805zA2bnTVjuJK1VuwDnqz7sVgP0zZe8146pgZjkrAtfSk5SJoWR5368 aIPXBp8KVJm9vVzmxs79AViYKxSNSQV9Yn5BEyiiLKHAPr4y2rxe4t7GQeU4179fbdn+ YWYA== X-Forwarded-Encrypted: i=1; AJvYcCVhzK7o6bMlu4SxD2M2Iv6Gd3Ap3S3mcHxmY2FLWQNp6DbI1pNrVtE8QzYq5gcDFXfplNHmMWZQwJL3YxI=@vger.kernel.org X-Gm-Message-State: AOJu0YyclBiXZ5cO2T0m2Ojg7zBfzAqAcP1+LCFqdALVup2ciQ93d1Xn 1LIlxTTH+2qLvFXZwV2n0e4hb1A5LTbK05/GP7eyaO47ooFQH2Qkg7uC X-Gm-Gg: ATEYQzxtboFc660EYd2+qXaJilzxVx5ql6FFNw8+XaLbrMFWFtoxINnYiKIYhr+9oiW G6iNVb6SGPXGfDcAhtn+DBWi9KRz2npHnwLBPMaPheooEGf5e7Eacvu3vbDHxuBfqna1om+Q3EV nWqEC1+eMHcQLpjO9pP9zqhF3FuhHUv/lUqu93dUkjqcNDkLwFcHYE3aFqSN2cursiCcxR+HZ7h F6bJOqPxVN35KL7KUSL4jY6x7zSfgP6WnaFgjCWAe8T/HLbFz4TxH9ZJCk9EVhuKaM4v6EBaboj xWx0ZGIneiBe3LBcNmFTafI5C2mLy20brGsC/Dejr8i4QukUGJh0AWZ6PAHmcnyb6MQzCsEYrQA OTXmOZgmsF6P6Iy+Qu0oTycu3UM4215E8aYzj+AZLV9fazxXvYenPLJ5a6o8hJ6RfEi/CwUvEQF Rm/aYdnO4H6BYg2YGRkcyIk4rLsMM5DT+3ZygBIPsaiDfouHM= X-Received: by 2002:a17:90b:4e8c:b0:354:a662:47ff with SMTP id 98e67ed59e1d1-359a6a851a9mr1665118a91.35.1772628459128; Wed, 04 Mar 2026 04:47:39 -0800 (PST) Received: from junjungu-PC.localdomain ([2408:820c:9009:3f2:c48d:9c04:d04e:c13a]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3599c4c0625sm5000450a91.13.2026.03.04.04.47.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 04:47:38 -0800 (PST) From: Felix Gu Date: Wed, 04 Mar 2026 20:47:19 +0800 Subject: [PATCH v2 1/3] spi: nxp-xspi: Use reinit_completion() for repeated operations Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260304-spi-nxp-v2-1-cd7d7726a27e@gmail.com> References: <20260304-spi-nxp-v2-0-cd7d7726a27e@gmail.com> In-Reply-To: <20260304-spi-nxp-v2-0-cd7d7726a27e@gmail.com> To: Han Xu , Haibo Chen , Mark Brown , Frank Li , Yogesh Gaur , Yogesh Narayan Gaur , Boris Brezillon , Frieder Schrempf Cc: linux-spi@vger.kernel.org, imx@lists.linux.dev, linux-kernel@vger.kernel.org, Felix Gu X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1772628443; l=1530; i=ustc.gu@gmail.com; h=from:subject:message-id; bh=bhwo7r9j37LyAs4Cos8ri5eXa2weRve1tYt/Mk3XGVE=; b=UXeHZ7i8c5JkwX6pvPTKD0/+H4rZvNXPd4odiwy7izmbwaQIhobe5vN0odSCPtB2GwkiVvVdT yd7yQZUlfIzCwmRpJyL7jb47up+yXAW3H/ST92CfQtRicN7Lo3jKNp1 X-Developer-Key: i=ustc.gu@gmail.com; a=ed25519; pk=fjUXwmjchVN7Ja6KGP55IXOzFeCl9edaHoQIEUA+/hw= The driver currently calls init_completion() during every spi_mem_op. Tchnically it may work, but it's not the recommended pattern. According to the kernel documentation: Calling init_completion() on the same completion object twice is most likely a bug as it re-initializes the queue to an empty queue and enqueued tasks could get "lost" - use reinit_completion() in that case, but be aware of other races. So moves the initial initialization to probe function and uses reinit_completion() for subsequent operations. Fixes: 29c8c00d9f9d ("spi: add driver for NXP XSPI controller") Reviewed-by: Haibo Chen Signed-off-by: Felix Gu --- drivers/spi/spi-nxp-xspi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/spi/spi-nxp-xspi.c b/drivers/spi/spi-nxp-xspi.c index 06fcdf22990b..385302a6e62f 100644 --- a/drivers/spi/spi-nxp-xspi.c +++ b/drivers/spi/spi-nxp-xspi.c @@ -958,7 +958,7 @@ static int nxp_xspi_do_op(struct nxp_xspi *xspi, const = struct spi_mem_op *op) writel(reg, base + XSPI_RBCT); } =20 - init_completion(&xspi->c); + reinit_completion(&xspi->c); =20 /* Config the data address */ writel(op->addr.val + xspi->memmap_phy, base + XSPI_SFP_TG_SFAR); @@ -1273,6 +1273,7 @@ static int nxp_xspi_probe(struct platform_device *pde= v) =20 nxp_xspi_default_setup(xspi); =20 + init_completion(&xspi->c); ret =3D devm_request_irq(dev, irq, nxp_xspi_irq_handler, 0, pdev->name, xspi); if (ret) --=20 2.43.0 From nobody Mon Apr 13 21:01:10 2026 Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) (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 B8F2F18FDBD for ; Wed, 4 Mar 2026 12:47:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772628468; cv=none; b=G1ShMHJjL0xUXCTryAuq2hlMLrnCGHXpuG/rooyDrsxb48pR3x+YinM3quLXQVIhlBid9HvpfP6PiU4B262noZYvixYnK4quxya588NXR7q2qGczXGMaRLQ3uyhFmaU/0JmM/kzHGE00TO2Dd8vKft3ODBS92lViBbhg7E9aS1M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772628468; c=relaxed/simple; bh=I4vOzBPfyRSgU37i3aopPtXd8O/uvXcLF9y6LnFAAr8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tRKQQr8MOpbqkHWzp/9jzzYxHrBSqFB4VYbrvKjJUSJBU5WKlE0FdQjh1hKlEvizVYnV6lsQ2KIKQBZ/poN55r4kS352EExFcEZPwcTQOMA9drThLxEVHPaQidf4h4m3k+wudxxnJhpxWcTF9T7wLCTh5A19ve3H954WhczbXM8= 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=JB+hiRac; arc=none smtp.client-ip=209.85.216.51 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="JB+hiRac" Received: by mail-pj1-f51.google.com with SMTP id 98e67ed59e1d1-35980423087so1909913a91.3 for ; Wed, 04 Mar 2026 04:47:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772628467; x=1773233267; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=tH0w/azYrKeQPVCZ1zt90CBX6B2rnF1FZuHhCMgUyjQ=; b=JB+hiRacDbzsZbe5rAi5HzMOUoPScV5gZfK0T5aj163OOqFOAvZDwd96cvdeljSP/V eY+OFp2imE0RJaH096Mi3XqumtsHaCkONi4nKmRcw2jGO4A+P+nHoFirynhYjZbFSWin FyP9MUr3M9XdX1RcCXP06kVZmg0QnVqfS6kC11CbqSH1EAMgjGNYYTdYrHw1i14ucnDc uwMMwfVAtLbK80bmir8LoTasJwCzrBLlFp8O18fCbflUhbGpEhTzWmd6ylAstzyBmiPK NPiLRuHqVM/s3GuiilKlqs3wwuqBjDLqbvwVeZoZXObJ28gXNmbkmy1NZpTxKYEZ9ai6 TUWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772628467; x=1773233267; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=tH0w/azYrKeQPVCZ1zt90CBX6B2rnF1FZuHhCMgUyjQ=; b=CIUzXSSYDFMhVLDOKfokMtN/AfCU8rThK93HN5x/IVuzlEvWZWIB1lO6FvXK1XPgno zrTERaFq5pFuxQruBtegj4EN4AxryUrRlzT1bOPf5JYx55Lo/J2GuuQ77MH2PA3YmXvl RcrRSisRN1e7SBD87JIK/POW14MCvt6GP+zVWQtwQaEwPukLnw1WA827VqkwiGXHvDVM Nm028Mznqk1aajsnsnmERGRAlY4nynULx5JQB8xrd4o6smU9ZTMfsFZT9scFUS+229oK u+oxlqZcuTjRT9NHA34nDt4qCSLM2JwAPNOKxTBLAMZ611ALGcxHAXM6x/3fsKrRSSOh zd6A== X-Forwarded-Encrypted: i=1; AJvYcCV9tNmxTNek5igSJLQmICY7Vox2GZcsUD32vspfqA3GKLIf2pxrPKgQlPwmuReRoRdKywcEdmH0m5tXJRg=@vger.kernel.org X-Gm-Message-State: AOJu0YxXew9GJ6wItb9cfxaOnt93O3Hbc2fdYgJKkJ6fNI/ifZRdwVvv 7r/8qbWzsR87CHMfNvvJpwW2bEAW+WtoJ84VmPBE19WnlnA8Xsa4zM4G X-Gm-Gg: ATEYQzxs7/F4zADg11VIuQnHN+1rvXBq8A0SHN0BADGf79sUkxsgaRIt59JmtK7qj6J 3hRuRf/K5wwmeLvPNPUnCeWyjSsXnOQuw/7iGKGzjO9939Jw0WbwiWn8BgzqcZXRzISxlwk2cj9 lss5s4nlXLYxFS8x/gwRBu5sTduFZs0CSiK9voDk2RpSV0SDoPF4Ect6QCf+C5Wy1VV9DfO9Enq pPXSVd3yY5L1n5iPXxpZ2MVvk1atNRQHC3NUypIoJ9bwZP5N5JOXssW+dw5ZBO5kRUdUEPdAl2o ertTpDHl85k80aLcdG9SksSa/gfNxCrLkzs67H4Uj1eTkr/nG5+hqkwfA8oKJP9ec11Oz3rujNh bNNwHFwrB3fus3AcjzFvkXrtTzPtPykYIrFzMWRFvb1JMMy7b2WnRhce4R1jcF6sa/KG60V60qp 26dbFTRlbnDgwMeVtRuMyw/lOTYX5EBLLVCvr6 X-Received: by 2002:a17:90b:4b0b:b0:341:6164:c27d with SMTP id 98e67ed59e1d1-359a69a9621mr1926831a91.3.1772628466940; Wed, 04 Mar 2026 04:47:46 -0800 (PST) Received: from junjungu-PC.localdomain ([2408:820c:9009:3f2:c48d:9c04:d04e:c13a]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3599c4c0625sm5000450a91.13.2026.03.04.04.47.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 04:47:46 -0800 (PST) From: Felix Gu Date: Wed, 04 Mar 2026 20:47:20 +0800 Subject: [PATCH v2 2/3] spi: nxp-fspi: Use reinit_completion() for repeated operations Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260304-spi-nxp-v2-2-cd7d7726a27e@gmail.com> References: <20260304-spi-nxp-v2-0-cd7d7726a27e@gmail.com> In-Reply-To: <20260304-spi-nxp-v2-0-cd7d7726a27e@gmail.com> To: Han Xu , Haibo Chen , Mark Brown , Frank Li , Yogesh Gaur , Yogesh Narayan Gaur , Boris Brezillon , Frieder Schrempf Cc: linux-spi@vger.kernel.org, imx@lists.linux.dev, linux-kernel@vger.kernel.org, Felix Gu X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1772628443; l=1518; i=ustc.gu@gmail.com; h=from:subject:message-id; bh=I4vOzBPfyRSgU37i3aopPtXd8O/uvXcLF9y6LnFAAr8=; b=+d38z2mcF5Zfsco/fBNqzjJQTm1HzU5pjmt2nyVbqbt58+MfVPZ6k2e7b+nSvIsSE44r17bZb Ff7Z2kvb1uZDFhgUbIYroXvqGEJXEHeLroYd5j1pY8Eco6ed7Inrp1l X-Developer-Key: i=ustc.gu@gmail.com; a=ed25519; pk=fjUXwmjchVN7Ja6KGP55IXOzFeCl9edaHoQIEUA+/hw= The driver currently calls init_completion() during every spi_mem_op. Tchnically it may work, but it's not the recommended pattern. According to the kernel documentation: Calling init_completion() on the same completion object twice is most likely a bug as it re-initializes the queue to an empty queue and enqueued tasks could get "lost" - use reinit_completion() in that case, but be aware of other races. So moves the initial initialization to probe function and uses reinit_completion() for subsequent operations. Fixes: a5356aef6a90 ("spi: spi-mem: Add driver for NXP FlexSPI controller") Signed-off-by: Felix Gu --- drivers/spi/spi-nxp-fspi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c index 320b3d93df57..1e36ae084dd8 100644 --- a/drivers/spi/spi-nxp-fspi.c +++ b/drivers/spi/spi-nxp-fspi.c @@ -996,7 +996,7 @@ static int nxp_fspi_do_op(struct nxp_fspi *f, const str= uct spi_mem_op *op) reg =3D reg | FSPI_IPRXFCR_CLR; fspi_writel(f, reg, base + FSPI_IPRXFCR); =20 - init_completion(&f->c); + reinit_completion(&f->c); =20 fspi_writel(f, op->addr.val, base + FSPI_IPCR0); /* @@ -1365,6 +1365,7 @@ static int nxp_fspi_probe(struct platform_device *pde= v) if (ret < 0) return dev_err_probe(dev, ret, "Failed to disable clock"); =20 + init_completion(&f->c); ret =3D devm_request_irq(dev, irq, nxp_fspi_irq_handler, 0, pdev->name, f); if (ret) --=20 2.43.0 From nobody Mon Apr 13 21:01:10 2026 Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) (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 8A16C1891A9 for ; Wed, 4 Mar 2026 12:47:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772628474; cv=none; b=SAvIUHbUHBwXQvpSy5La3Mdjx5PDoJDIW+8PTXQQZcsWYcHVKr4+Hq/QYFTISZxSN95Ihd858IbqYFrH/xiXdROJONPto+9XG96Nx2qwuErVuv7gNK0SlwSPxdSeVNWR5iox56HiWeO+7PZlDQVA0frfn5eGFW3lbhJ+HWxg2nE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772628474; c=relaxed/simple; bh=I4G5BmiSRVnXsdaiwq2zZZ8p2iMKTYQ+oZxjqJ+xHa8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YUv8w16LZGmbe1F3NWOQYuW8foU7jPNSJH+aIYNC7wcS6JPF04mHZjle5tUrm4K9ld+PWsURUKYxXl2MqV8EtqOfEADByYOLplcCffxbGeur+kjqPRtoCtSu9q5rXwBTWkBKV9EO+Zy89oRB+iaulIlzE1u3RPBn2JjQawmUcDg= 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=jNWGGQuA; arc=none smtp.client-ip=209.85.210.172 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="jNWGGQuA" Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-82748095892so3283805b3a.0 for ; Wed, 04 Mar 2026 04:47:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772628473; x=1773233273; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=pXrbV0EXDox64nj0mJqXgXN5XJkcx97TQuO0RxgmpN8=; b=jNWGGQuA1FJiQ+3+qQa92d8rjiw1l+jgJ4XqzTGN9OsoFw2CN8s6ox/LazUdGyeuTJ ZabBnXZoQmg3hVbmzLX4GH2buEgL+wKre1+VIc2zptPsTOjOq/WdhULAF2hrnK6RJ2UD JL9FWs7WXxKbneXQYJwttRLKmMy9QnDEp73AwFiBV2tmEHx0G35EpWWgevi0uNG9Woj8 FVwE/iEivO2KNRfkHib1kxR9MojreWMrHcx4L1I6374jFB0mACqB1z3wvoroOonVBjMM s8CwLlppdrchtmwWAqUSqM33x5t+z+Sv6sStcrqGvSTdmugkaTsdLA/LxF7BoVA8/XG1 E5lQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772628473; x=1773233273; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=pXrbV0EXDox64nj0mJqXgXN5XJkcx97TQuO0RxgmpN8=; b=K+doh4O6mfZDqOYwvZheDZJohMs5SbNM+6q3CtJepFRNsM57utSXbBBA/K1/GljPUh JKqieExrFiYVB81A/1YGq6RO59GbJhKOEXPs+isk5or520PsLOrd9Y3x/NYnAHH05AMQ cv+GH3M3uTuhs4RX3ROFx/wvk2o+zq6JaTPzNmpRLu2MA65B3GiexhSaRoaxdZ5kQiAy elybnewH9PgipQTkVCoDUDTc8HcS62xKJfd++8BErQLH5DqXQPB773Veom7GUdf6xO87 HuVh05MdC/GvKVnrMptqVDIicYmo35hc9wR7Ws9v3S4ndbbdfgFs4Uzr2c/PpWNOwc79 FvWg== X-Forwarded-Encrypted: i=1; AJvYcCUU6FxIFTBs7zNYidTulcq0nHi3b5cN2gOw5Y64kNl3iLYULG6gyzKVNEGJnGoA9wTHCHB+iyu5oL9f+Hw=@vger.kernel.org X-Gm-Message-State: AOJu0YznaJwswBMm8hTf0H4YTxKOd0GRrjhrgxIf6blGAcarfWKOZSoM xtdXgW6Vj8UNo+uyllTRmSpUUGijTmRA6G921Q4NrKvdO26cuOKxKT+v X-Gm-Gg: ATEYQzxm64/O/jc5y9BJVQYwiJfnL7H5lKQj2SY1fmehEQXNWQ/KGI69Lb+pLV3BVFV 9NnCJc9SSntenmXZ7hLsxegcT3jEfQmLLAlKjd/NXLQ36I93HAg7FKvqphw0hYFbe9mM7UKdkUa t2nfgNfZc2pW+cIlP6XTnzRpK7ng5XrToAOj+kNGhdLxrl1HRzVU813izCIxgD4ujh6vX3e/rR/ 4Ud9QM59ZP3jOr/3M2i1T+v7XZMP8kVrrq19ja+qVCVyWwXKWtZ54DKYdpQWLLMtv7ewavN54tD n30mGETSD5GM/7gItFG1ke494/d982jwk5TGbcqZSQ4tHgzhLbkVaIMTnlwyeKhqRL9sf4MFnyc Mk3NSjyQmZEQMVvpkzMs1zK/FlFJCFT9HHeHVPN05PVO4dA2aQylNBKYv/vKDdiIskb8jNWIWM2 v6LBpkxZzK2O1kWHNLgmwNT/85FGliFBdS/xXv X-Received: by 2002:a17:90b:5630:b0:34c:fe7e:84fe with SMTP id 98e67ed59e1d1-359a6a6433fmr1633791a91.28.1772628472939; Wed, 04 Mar 2026 04:47:52 -0800 (PST) Received: from junjungu-PC.localdomain ([2408:820c:9009:3f2:c48d:9c04:d04e:c13a]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3599c4c0625sm5000450a91.13.2026.03.04.04.47.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 04:47:52 -0800 (PST) From: Felix Gu Date: Wed, 04 Mar 2026 20:47:21 +0800 Subject: [PATCH v2 3/3] spi: fsl-qspi: Use reinit_completion() for repeated operations Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260304-spi-nxp-v2-3-cd7d7726a27e@gmail.com> References: <20260304-spi-nxp-v2-0-cd7d7726a27e@gmail.com> In-Reply-To: <20260304-spi-nxp-v2-0-cd7d7726a27e@gmail.com> To: Han Xu , Haibo Chen , Mark Brown , Frank Li , Yogesh Gaur , Yogesh Narayan Gaur , Boris Brezillon , Frieder Schrempf Cc: linux-spi@vger.kernel.org, imx@lists.linux.dev, linux-kernel@vger.kernel.org, Felix Gu X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1772628443; l=1465; i=ustc.gu@gmail.com; h=from:subject:message-id; bh=I4G5BmiSRVnXsdaiwq2zZZ8p2iMKTYQ+oZxjqJ+xHa8=; b=cJacyzDOyUDA2/PYdVXT/xwkdqZtYGL92jgOWdz/UHbRz0p1Vee9zlUm0eB+D2wf9urWa55bX Dl/LD5HOTwmDNyfe1VujlN6zBz8uoMBAbxcOfG4c99bRs7+xjA+zsa2 X-Developer-Key: i=ustc.gu@gmail.com; a=ed25519; pk=fjUXwmjchVN7Ja6KGP55IXOzFeCl9edaHoQIEUA+/hw= The driver currently calls init_completion() during every spi_mem_op. Tchnically it may work, but it's not the recommended pattern. According to the kernel documentation: Calling init_completion() on the same completion object twice is most likely a bug as it re-initializes the queue to an empty queue and enqueued tasks could get "lost" - use reinit_completion() in that case, but be aware of other races. So moves the initial initialization to probe function and uses reinit_completion() for subsequent operations. Fixes: 84d043185dbe ("spi: Add a driver for the Freescale/NXP QuadSPI contr= oller") Signed-off-by: Felix Gu --- drivers/spi/spi-fsl-qspi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/spi/spi-fsl-qspi.c b/drivers/spi/spi-fsl-qspi.c index a223b4bc6e63..57358851029b 100644 --- a/drivers/spi/spi-fsl-qspi.c +++ b/drivers/spi/spi-fsl-qspi.c @@ -633,7 +633,7 @@ static int fsl_qspi_do_op(struct fsl_qspi *q, const str= uct spi_mem_op *op) void __iomem *base =3D q->iobase; int err =3D 0; =20 - init_completion(&q->c); + reinit_completion(&q->c); =20 /* * Always start the sequence at the same index since we update @@ -965,6 +965,7 @@ static int fsl_qspi_probe(struct platform_device *pdev) if (ret < 0) return ret; =20 + init_completion(&q->c); ret =3D devm_request_irq(dev, ret, fsl_qspi_irq_handler, 0, pdev->name, q); if (ret) { --=20 2.43.0