diff mbox

thermal: rcar: set up I/O base before requesting IRQ

Message ID 1369817336-1953-1-git-send-email-ulrich.hecht@gmail.com (mailing list archive)
State Superseded
Headers show

Commit Message

Ulrich Hecht May 29, 2013, 8:48 a.m. UTC
It is used by the interrupt handler. Fixes crash when booting via kexec
on APE6 board.

Signed-off-by: Ulrich Hecht <ulrich.hecht@gmail.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 drivers/thermal/rcar_thermal.c |   14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

Comments

Simon Horman May 31, 2013, 5:48 a.m. UTC | #1
On Wed, May 29, 2013 at 10:48:56AM +0200, Ulrich Hecht wrote:
> It is used by the interrupt handler. Fixes crash when booting via kexec
> on APE6 board.
> 
> Signed-off-by: Ulrich Hecht <ulrich.hecht@gmail.com>
> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

Hi Ulrich,

could you clarify the target of this fix?
Is it for next and thus v3.11 or is it applicable to v3.10.
In the case of the latter is it also applicable to earlier
kernel versions and thus relevant to -stable.

Thanks

> ---
>  drivers/thermal/rcar_thermal.c |   14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/thermal/rcar_thermal.c b/drivers/thermal/rcar_thermal.c
> index 8d7edd4..7641dcc 100644
> --- a/drivers/thermal/rcar_thermal.c
> +++ b/drivers/thermal/rcar_thermal.c
> @@ -395,13 +395,6 @@ static int rcar_thermal_probe(struct platform_device *pdev)
>  			return -ENODEV;
>  		}
>  
> -		ret = devm_request_irq(dev, irq->start, rcar_thermal_irq, 0,
> -				       dev_name(dev), common);
> -		if (ret) {
> -			dev_err(dev, "irq request failed\n ");
> -			return ret;
> -		}
> -
>  		/*
>  		 * rcar_has_irq_support() will be enabled
>  		 */
> @@ -409,6 +402,13 @@ static int rcar_thermal_probe(struct platform_device *pdev)
>  		if (IS_ERR(common->base))
>  			return PTR_ERR(common->base);
>  
> +		ret = devm_request_irq(dev, irq->start, rcar_thermal_irq, 0,
> +				       dev_name(dev), common);
> +		if (ret) {
> +			dev_err(dev, "irq request failed\n ");
> +			return ret;
> +		}
> +
>  		/* enable temperature comparation */
>  		rcar_thermal_common_write(common, ENR, 0x00030303);
>  
> -- 
> 1.7.10.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ulrich Hecht May 31, 2013, 7:04 a.m. UTC | #2
On Fri, May 31, 2013 at 7:48 AM, Simon Horman <horms@verge.net.au> wrote:
> On Wed, May 29, 2013 at 10:48:56AM +0200, Ulrich Hecht wrote:
>> It is used by the interrupt handler. Fixes crash when booting via kexec
>> on APE6 board.
>
> could you clarify the target of this fix?
> Is it for next and thus v3.11 or is it applicable to v3.10.
> In the case of the latter is it also applicable to earlier
> kernel versions and thus relevant to -stable.

The bug has been introduced by commit e0a5172 (thermal: rcar: add
interrupt support), between v3.8-rc2 and v3.9-rc1.

CU
Uli
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Simon Horman June 4, 2013, 2:10 a.m. UTC | #3
On Fri, May 31, 2013 at 09:04:02AM +0200, Ulrich Hecht wrote:
> On Fri, May 31, 2013 at 7:48 AM, Simon Horman <horms@verge.net.au> wrote:
> > On Wed, May 29, 2013 at 10:48:56AM +0200, Ulrich Hecht wrote:
> >> It is used by the interrupt handler. Fixes crash when booting via kexec
> >> on APE6 board.
> >
> > could you clarify the target of this fix?
> > Is it for next and thus v3.11 or is it applicable to v3.10.
> > In the case of the latter is it also applicable to earlier
> > kernel versions and thus relevant to -stable.
> 
> The bug has been introduced by commit e0a5172 (thermal: rcar: add
> interrupt support), between v3.8-rc2 and v3.9-rc1.

Thanks and sorry for the delay, I have been travelling.

I have reposed this patch with an updated changelog, including
the information above, with the hope that Zhang Rui will
pick up the change for v3.10.
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/thermal/rcar_thermal.c b/drivers/thermal/rcar_thermal.c
index 8d7edd4..7641dcc 100644
--- a/drivers/thermal/rcar_thermal.c
+++ b/drivers/thermal/rcar_thermal.c
@@ -395,13 +395,6 @@  static int rcar_thermal_probe(struct platform_device *pdev)
 			return -ENODEV;
 		}
 
-		ret = devm_request_irq(dev, irq->start, rcar_thermal_irq, 0,
-				       dev_name(dev), common);
-		if (ret) {
-			dev_err(dev, "irq request failed\n ");
-			return ret;
-		}
-
 		/*
 		 * rcar_has_irq_support() will be enabled
 		 */
@@ -409,6 +402,13 @@  static int rcar_thermal_probe(struct platform_device *pdev)
 		if (IS_ERR(common->base))
 			return PTR_ERR(common->base);
 
+		ret = devm_request_irq(dev, irq->start, rcar_thermal_irq, 0,
+				       dev_name(dev), common);
+		if (ret) {
+			dev_err(dev, "irq request failed\n ");
+			return ret;
+		}
+
 		/* enable temperature comparation */
 		rcar_thermal_common_write(common, ENR, 0x00030303);