summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNitin Garg <nitin.garg@freescale.com>2012-12-12 14:40:19 -0600
committerTapani <tapani@vmail.me>2013-03-29 11:41:32 +0800
commitf9a9502e0ae9da2805f64d11e9d3569e95a0d5c9 (patch)
tree46bc8ba54ce6d9d5e1cd82047bbc87b3967678a3
parent8a4e845ae14c9070d4072e0fe8e48f3486393d96 (diff)
ENGR00236834: RTC fix a crash in mxc_rtc_read_time while registering rtc
Set pdata (before calling rtc_device_register) as its required by rtc_device_register as it checks if alarm is already set, calling mxc_rtc_read_time. Signed-off-by: Nitin Garg <nitin.garg@freescale.com>
-rw-r--r--drivers/rtc/rtc-mxc_v2.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/rtc/rtc-mxc_v2.c b/drivers/rtc/rtc-mxc_v2.c
index 6b02c92cf6a3..fd2629d63da5 100644
--- a/drivers/rtc/rtc-mxc_v2.c
+++ b/drivers/rtc/rtc-mxc_v2.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2011 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright (C) 2004-2012 Freescale Semiconductor, Inc. All Rights Reserved.
*/
/*
@@ -631,6 +631,10 @@ static int mxc_rtc_probe(struct platform_device *pdev)
__raw_writel(0xFFFFFFFF, ioaddr + SRTC_LPSR);
udelay(100);
+ /* Set pdata as its required by rtc_device_register */
+ /* as it checks if alarm is already set, calling mxc_rtc_read_time */
+ platform_set_drvdata(pdev, pdata);
+
rtc = rtc_device_register(pdev->name, &pdev->dev,
&mxc_rtc_ops, THIS_MODULE);
if (IS_ERR(rtc)) {