All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] rtc: max8925 crash since driver data not set before interrupt
@ 2011-04-18 19:59 Philip Rakity
  2011-04-18 20:00 ` Philip Rakity
  2011-04-19  3:53 ` Eric Miao
  0 siblings, 2 replies; 3+ messages in thread
From: Philip Rakity @ 2011-04-18 19:59 UTC (permalink / raw)
  To: linux-arm-kernel



^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] rtc: max8925 crash since driver data not set before interrupt
  2011-04-18 19:59 [PATCH] rtc: max8925 crash since driver data not set before interrupt Philip Rakity
@ 2011-04-18 20:00 ` Philip Rakity
  2011-04-19  3:53 ` Eric Miao
  1 sibling, 0 replies; 3+ messages in thread
From: Philip Rakity @ 2011-04-18 20:00 UTC (permalink / raw)
  To: linux-arm-kernel


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@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@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
> 
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] rtc: max8925 crash since driver data not set before interrupt
  2011-04-18 19:59 [PATCH] rtc: max8925 crash since driver data not set before interrupt Philip Rakity
  2011-04-18 20:00 ` Philip Rakity
@ 2011-04-19  3:53 ` Eric Miao
  1 sibling, 0 replies; 3+ messages in thread
From: Eric Miao @ 2011-04-19  3:53 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Apr 19, 2011 at 3:59 AM, Philip Rakity <prakity@marvell.com> wrote:
> From 449d78d5145f25d95c3bcf8fbcbbf5554299ec0f Mon Sep 17 00:00:00 2001
> From: Philip Rakity <prakity@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@marvell.com>

Acked-by: Eric Miao <eric.y.miao@gmail.com>

Hi Alessandro,

This looks like a right fix to me. Please help merge. Thanks.

> ---
> ?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
>
>
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-04-19  3:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-18 19:59 [PATCH] rtc: max8925 crash since driver data not set before interrupt Philip Rakity
2011-04-18 20:00 ` Philip Rakity
2011-04-19  3:53 ` Eric Miao

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.