[PATCH v3 1/2] soc: microchip: mpfs: handle failed system service requests
Palmer Dabbelt
palmer at dabbelt.com
Fri Dec 9 11:14:39 PST 2022
On Wed, 23 Nov 2022 09:56:51 PST (-0800), Conor Dooley wrote:
> From: Conor Dooley <conor.dooley at microchip.com>
>
> If a service request fails, a non-zero, per-service error code will be
> set. Since the individual service drivers may wish to handle things
> differently, there's little point trying to do anything intelligent in
> the system controller driver. Let the caller know that things went wrong
> & leave the details of handling the error to it.
>
> Fixes: d0054a470c33 ("soc: add microchip polarfire soc system controller")
> Signed-off-by: Conor Dooley <conor.dooley at microchip.com>
> ---
> drivers/soc/microchip/mpfs-sys-controller.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/soc/microchip/mpfs-sys-controller.c b/drivers/soc/microchip/mpfs-sys-controller.c
> index 6e20207b5756..539fc24b397d 100644
> --- a/drivers/soc/microchip/mpfs-sys-controller.c
> +++ b/drivers/soc/microchip/mpfs-sys-controller.c
> @@ -52,6 +52,12 @@ int mpfs_blocking_transaction(struct mpfs_sys_controller *sys_controller, struct
>
> mutex_unlock(&transaction_lock);
>
> + if (ret)
> + return ret;
> +
> + if (msg->response->resp_status)
> + ret = -EIO;
> +
> return ret;
> }
> EXPORT_SYMBOL(mpfs_blocking_transaction);
Reviewed-by: Palmer Dabbelt <palmer at rivosinc.com>
More information about the linux-riscv
mailing list