[PATCH] rtc: max8925 crash since driver data not set before interrupt

Philip Rakity prakity at marvell.com
Mon Apr 18 16:00:19 EDT 2011


Eric,

happens on mmp2 / brownstone

Philip

On Apr 18, 2011, at 12:59 PM, Philip Rakity wrote:

> From 449d78d5145f25d95c3bcf8fbcbbf5554299ec0f Mon Sep 17 00:00:00 2001
> From: Philip Rakity <prakity at marvell.com>
> Date: Mon, 18 Apr 2011 12:56:17 -0700
> Subject: [PATCH] rtc: max8925 crash since driver data not set before interrupt
> 
> in probe set the platform data before setting up interrupts
> avoids crash at start-up time.
> 
> Signed-off-by: Philip Rakity <prakity at marvell.com>
> ---
> drivers/rtc/rtc-max8925.c |    6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/rtc/rtc-max8925.c b/drivers/rtc/rtc-max8925.c
> index 174036d..24a326a 100644
> --- a/drivers/rtc/rtc-max8925.c
> +++ b/drivers/rtc/rtc-max8925.c
> @@ -249,6 +249,9 @@ static int __devinit max8925_rtc_probe(struct platform_device *pdev)
> 	info->dev = &pdev->dev;
> 	irq = chip->irq_base + MAX8925_IRQ_RTC_ALARM0;
> 
> +	dev_set_drvdata(&pdev->dev, info);
> +	platform_set_drvdata(pdev, info);
> +
> 	ret = request_threaded_irq(irq, NULL, rtc_update_handler,
> 				   IRQF_ONESHOT, "rtc-alarm0", info);
> 	if (ret < 0) {
> @@ -265,9 +268,6 @@ static int __devinit max8925_rtc_probe(struct platform_device *pdev)
> 		goto out_rtc;
> 	}
> 
> -	dev_set_drvdata(&pdev->dev, info);
> -	platform_set_drvdata(pdev, info);
> -
> 	return 0;
> out_rtc:
> 	free_irq(chip->irq_base + MAX8925_IRQ_RTC_ALARM0, info);
> -- 
> 1.7.0.4
> 
> 




More information about the linux-arm-kernel mailing list