drivers/greybus/gb-beagleplay.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
Add error handling for the gb_greybus_init(bg) function call
during the firmware reflash process to maintain consistency
in error handling throughout the codebase. If initialization
fails, log an error and return FW_UPLOAD_ERR_RW_ERROR.
Fixes: 0cf7befa3ea2 ("greybus: gb-beagleplay: Add firmware upload API")
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
---
drivers/greybus/gb-beagleplay.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/greybus/gb-beagleplay.c b/drivers/greybus/gb-beagleplay.c
index 473ac3f2d382..da31f1131afc 100644
--- a/drivers/greybus/gb-beagleplay.c
+++ b/drivers/greybus/gb-beagleplay.c
@@ -912,7 +912,9 @@ static enum fw_upload_err cc1352_prepare(struct fw_upload *fw_upload,
cc1352_bootloader_reset(bg);
WRITE_ONCE(bg->flashing_mode, false);
msleep(200);
- gb_greybus_init(bg);
+ if (gb_greybus_init(bg) < 0)
+ return dev_err_probe(&bg->sd->dev, FW_UPLOAD_ERR_RW_ERROR,
+ "Failed to initialize greybus");
gb_beagleplay_start_svc(bg);
return FW_UPLOAD_ERR_FW_INVALID;
}
--
2.42.0.windows.2
On 1/20/25 19:35, Wentao Liang wrote:
> Add error handling for the gb_greybus_init(bg) function call
> during the firmware reflash process to maintain consistency
> in error handling throughout the codebase. If initialization
> fails, log an error and return FW_UPLOAD_ERR_RW_ERROR.
>
> Fixes: 0cf7befa3ea2 ("greybus: gb-beagleplay: Add firmware upload API")
> Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
> ---
> drivers/greybus/gb-beagleplay.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/greybus/gb-beagleplay.c b/drivers/greybus/gb-beagleplay.c
> index 473ac3f2d382..da31f1131afc 100644
> --- a/drivers/greybus/gb-beagleplay.c
> +++ b/drivers/greybus/gb-beagleplay.c
> @@ -912,7 +912,9 @@ static enum fw_upload_err cc1352_prepare(struct fw_upload *fw_upload,
> cc1352_bootloader_reset(bg);
> WRITE_ONCE(bg->flashing_mode, false);
> msleep(200);
> - gb_greybus_init(bg);
> + if (gb_greybus_init(bg) < 0)
> + return dev_err_probe(&bg->sd->dev, FW_UPLOAD_ERR_RW_ERROR,
> + "Failed to initialize greybus");
> gb_beagleplay_start_svc(bg);
> return FW_UPLOAD_ERR_FW_INVALID;
> }
Looks good to me.
Reviewed-by: Ayush Singh <ayush@beagleboard.org>
© 2016 - 2025 Red Hat, Inc.