Simon, Ulrich, On 03-06-2013 22:09, Simon Horman wrote: > From: Ulrich Hecht > > It is used by the interrupt handler. Fixes crash when booting via kexec > on APE6 board. > > This problem was introduced by e0a5172e9eec7f0d3c476e013c51dab62f3fc666 > ("thermal: rcar: add interrupt support") which was introduced in v3.8-rc3. > > Signed-off-by: Ulrich Hecht > Acked-by: Kuninori Morimoto > [horms+renesas@verge.net.au: enhanced changelog to include commit > that cuases the problem ] > Signed-off-by: Simon Horman Acked-by: Eduardo Valentin > --- > drivers/thermal/rcar_thermal.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > Hi Zhang, > > could you consider this fix for v3.10? > > 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; > - } > - Should this IRQ be disabled while this driver gets initialized? Reset state is enabled? > /* > * 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); > > -- You have got to be excited about what you are doing. (L. Lamport) Eduardo Valentin