diff mbox series

thermal: rcar_thermal: Handle probe error gracefully

Message ID 20200310114709.1483860-1-niklas.soderlund+renesas@ragnatech.se (mailing list archive)
State New, archived
Delegated to: Daniel Lezcano
Headers show
Series thermal: rcar_thermal: Handle probe error gracefully | expand

Commit Message

Niklas Söderlund March 10, 2020, 11:47 a.m. UTC
If the common register memory resource is not available the driver needs
to fail gracefully to disable PM. Instead of returning the error
directly store it in ret and use the already existing error path.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
---
 drivers/thermal/rcar_thermal.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Geert Uytterhoeven March 10, 2020, 12:42 p.m. UTC | #1
On Tue, Mar 10, 2020 at 12:47 PM Niklas Söderlund
<niklas.soderlund+renesas@ragnatech.se> wrote:
> If the common register memory resource is not available the driver needs
> to fail gracefully to disable PM. Instead of returning the error
> directly store it in ret and use the already existing error path.
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert
Daniel Lezcano March 12, 2020, 11:21 a.m. UTC | #2
On 10/03/2020 12:47, Niklas Söderlund wrote:
> If the common register memory resource is not available the driver needs
> to fail gracefully to disable PM. Instead of returning the error
> directly store it in ret and use the already existing error path.
> 
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

Applied, thanks

> ---
>  drivers/thermal/rcar_thermal.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/thermal/rcar_thermal.c b/drivers/thermal/rcar_thermal.c
> index 8f1aafa2044e5ba7..4a48d1d2a31c9250 100644
> --- a/drivers/thermal/rcar_thermal.c
> +++ b/drivers/thermal/rcar_thermal.c
> @@ -521,8 +521,10 @@ static int rcar_thermal_probe(struct platform_device *pdev)
>  			res = platform_get_resource(pdev, IORESOURCE_MEM,
>  						    mres++);
>  			common->base = devm_ioremap_resource(dev, res);
> -			if (IS_ERR(common->base))
> -				return PTR_ERR(common->base);
> +			if (IS_ERR(common->base)) {
> +				ret = PTR_ERR(common->base);
> +				goto error_unregister;
> +			}
>  
>  			idle = 0; /* polling delay is not needed */
>  		}
>
diff mbox series

Patch

diff --git a/drivers/thermal/rcar_thermal.c b/drivers/thermal/rcar_thermal.c
index 8f1aafa2044e5ba7..4a48d1d2a31c9250 100644
--- a/drivers/thermal/rcar_thermal.c
+++ b/drivers/thermal/rcar_thermal.c
@@ -521,8 +521,10 @@  static int rcar_thermal_probe(struct platform_device *pdev)
 			res = platform_get_resource(pdev, IORESOURCE_MEM,
 						    mres++);
 			common->base = devm_ioremap_resource(dev, res);
-			if (IS_ERR(common->base))
-				return PTR_ERR(common->base);
+			if (IS_ERR(common->base)) {
+				ret = PTR_ERR(common->base);
+				goto error_unregister;
+			}
 
 			idle = 0; /* polling delay is not needed */
 		}