* [PATCH v4] fpga: stratix10-soc: Fix SVC mailbox handling during reconfiguration
@ 2026-06-30 6:57 tze.yee.ng
2026-07-07 4:40 ` Xu Yilun
0 siblings, 1 reply; 2+ messages in thread
From: tze.yee.ng @ 2026-06-30 6:57 UTC (permalink / raw)
To: Moritz Fischer, Xu Yilun, Tom Rix, Richard Gong, Alan Tull,
Greg Kroah-Hartman, linux-fpga, linux-kernel
From: Tien Sung Ang <tien.sung.ang@altera.com>
Fix incorrect stratix10_svc_done() usage during FPGA reconfiguration.
Do not call stratix10_svc_done() at the end of write_init() on success, so
the SVC session remains active through write() and write_complete(). Call
stratix10_svc_done() on failure in write_init() and write() so the shared
SVC mailbox is released when reconfiguration aborts, allowing coexistence
with other SVC clients such as soc64-hwmon.
Fixes: e7eef1d7633a ("fpga: add intel stratix10 soc fpga manager driver")
Cc: stable@vger.kernel.org # 5.1+
Signed-off-by: Tien Sung Ang <tien.sung.ang@altera.com>
Signed-off-by: Tze Yee Ng <tze.yee.ng@altera.com>
---
Changes in v4:
- Restructure write_init() per review: return 0 on success, single
init_error path for stratix10_svc_done().
- Do not assign wait_for_completion_timeout() result to ret; removes
the need for ret = 0.
- Revert PTR_ERR(kbuf) to -ENOMEM change; keep PTR_ERR(kbuf).
---
drivers/fpga/stratix10-soc.c | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/drivers/fpga/stratix10-soc.c b/drivers/fpga/stratix10-soc.c
index 0a295ccf1644..b8ec2e6f615f 100644
--- a/drivers/fpga/stratix10-soc.c
+++ b/drivers/fpga/stratix10-soc.c
@@ -195,20 +195,18 @@ static int s10_ops_write_init(struct fpga_manager *mgr,
ret = s10_svc_send_msg(priv, COMMAND_RECONFIG,
&ctype, sizeof(ctype));
if (ret < 0)
- goto init_done;
+ goto init_error;
- ret = wait_for_completion_timeout(
- &priv->status_return_completion, S10_RECONFIG_TIMEOUT);
- if (!ret) {
+ if (!wait_for_completion_timeout(&priv->status_return_completion,
+ S10_RECONFIG_TIMEOUT)) {
dev_err(dev, "timeout waiting for RECONFIG_REQUEST\n");
ret = -ETIMEDOUT;
- goto init_done;
+ goto init_error;
}
- ret = 0;
if (!test_and_clear_bit(SVC_STATUS_OK, &priv->status)) {
ret = -ETIMEDOUT;
- goto init_done;
+ goto init_error;
}
/* Allocate buffers from the service layer's pool. */
@@ -217,14 +215,16 @@ static int s10_ops_write_init(struct fpga_manager *mgr,
if (IS_ERR(kbuf)) {
s10_free_buffers(mgr);
ret = PTR_ERR(kbuf);
- goto init_done;
+ goto init_error;
}
priv->svc_bufs[i].buf = kbuf;
priv->svc_bufs[i].lock = 0;
}
-init_done:
+ return 0;
+
+init_error:
stratix10_svc_done(priv->chan);
return ret;
}
@@ -342,6 +342,9 @@ static int s10_ops_write(struct fpga_manager *mgr, const char *buf,
if (!s10_free_buffers(mgr))
dev_err(dev, "%s not all buffers were freed\n", __func__);
+ if (ret < 0)
+ stratix10_svc_done(priv->chan);
+
return ret;
}
--
2.43.7
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH v4] fpga: stratix10-soc: Fix SVC mailbox handling during reconfiguration
2026-06-30 6:57 [PATCH v4] fpga: stratix10-soc: Fix SVC mailbox handling during reconfiguration tze.yee.ng
@ 2026-07-07 4:40 ` Xu Yilun
0 siblings, 0 replies; 2+ messages in thread
From: Xu Yilun @ 2026-07-07 4:40 UTC (permalink / raw)
To: tze.yee.ng
Cc: Moritz Fischer, Xu Yilun, Tom Rix, Richard Gong, Alan Tull,
Greg Kroah-Hartman, linux-fpga, linux-kernel
On Mon, Jun 29, 2026 at 11:57:19PM -0700, tze.yee.ng@altera.com wrote:
> From: Tien Sung Ang <tien.sung.ang@altera.com>
>
> Fix incorrect stratix10_svc_done() usage during FPGA reconfiguration.
>
> Do not call stratix10_svc_done() at the end of write_init() on success, so
> the SVC session remains active through write() and write_complete(). Call
> stratix10_svc_done() on failure in write_init() and write() so the shared
> SVC mailbox is released when reconfiguration aborts, allowing coexistence
> with other SVC clients such as soc64-hwmon.
>
> Fixes: e7eef1d7633a ("fpga: add intel stratix10 soc fpga manager driver")
> Cc: stable@vger.kernel.org # 5.1+
> Signed-off-by: Tien Sung Ang <tien.sung.ang@altera.com>
> Signed-off-by: Tze Yee Ng <tze.yee.ng@altera.com>
Reviewed-by: Xu Yilun <yilun.xu@intel.com>
Applied to for-next.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-07-07 4:40 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-30 6:57 [PATCH v4] fpga: stratix10-soc: Fix SVC mailbox handling during reconfiguration tze.yee.ng
2026-07-07 4:40 ` Xu Yilun
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®