Re: [PATCH v2] fpga: bridge: incorrect set to clear freeze_illegal_request register

From: Xu Yilun

Date: Mon Sep 28 2026 - 06:28:47 EST


On Sun, Sep 20, 2026 at 07:23:51PM -0700, tze.yee.ng@xxxxxxxxxx wrote:
> From: Tanmay Kathpalia <tanmay.kathpalia@xxxxxxxxxx>
>
> A Partial Region Controller can be connected to one or more
> Freeze Bridge. Each Freeze Bridge has an illegal_request
> bit represented in the freeze_illegal_request register.

Why only this register reveals details about multiple bridges, while
other registers always operate on all of them? And how can we understand
which bridges are actually in use.

> Thus, instead of just set to clear the illegal_request bit
> for first Freeze Bridge, we need to ensure the set to clear

Imperative mood.

> action is applied to which ever Freeze Bridge that has
> occurrence of illegal request.
>
> Fixes: ca24a648f535 ("fpga: add altera freeze bridge support")
> Cc: stable@xxxxxxxxxxxxxxx # v4.10+
>
> Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@xxxxxxxxxx>
> Signed-off-by: Tze Yee Ng <tze.yee.ng@xxxxxxxxxx>
> ---
> Taking over this patch from Tanmay.
>
> Changes in v2:
> - Add "Cc: stable@xxxxxxxxxxxxxxx # v4.10+" into the signoff area so the
> stable-kernel rule is satisfied (reported by kernel test robot).
> - Remove Chiau Ee's signoff as he is no longer working on this patch.
>
> Link v1:
> https://lore.kernel.org/all/20250311151601.12264-1-tanmay.kathpalia@xxxxxxxxxx/
> ---
> drivers/fpga/altera-freeze-bridge.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/fpga/altera-freeze-bridge.c b/drivers/fpga/altera-freeze-bridge.c
> index c24c976117c8..2591dcc53d83 100644
> --- a/drivers/fpga/altera-freeze-bridge.c
> +++ b/drivers/fpga/altera-freeze-bridge.c
> @@ -51,7 +51,7 @@ static int altera_freeze_br_req_ack(struct altera_freeze_br_data *priv,
> if (illegal) {
> dev_err(dev, "illegal request detected 0x%x", illegal);
>
> - writel(1, csr_illegal_req_addr);
> + writel(illegal, csr_illegal_req_addr);
>
> illegal = readl(csr_illegal_req_addr);
> if (illegal)
> --
> 2.43.7
>
>