Bug#625804: linux-2.6: lockups in rtc on armhf
Package: linux-2.6
Version: 2.6.39~rc5-1~experimental.1
Severity: normal
i was experiencing lockups on an armhf kernel built from the experimental branch:
[ 2.644589] usb 2-1.1: SerialNumber: 1.0
[ 240.664217] INFO: task swapper:1 blocked for more than 120 seconds.
[ 240.670509] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 240.678374] swapper D c0285240 0 1 0 0x00000000
[ 240.684824] [<c0285240>] (schedule+0x4bc/0x510) from [<c0285ca0>] (__mutex_lock_slowpath+0x7c/0xa0)
[ 240.693914] [<c0285ca0>] (__mutex_lock_slowpath+0x7c/0xa0) from [<c01e2bb8>] (mc13xxx_rtc_read_time+0x18/0xe4)
[ 240.703967] [<c01e2bb8>] (mc13xxx_rtc_read_time+0x18/0xe4) from [<c01e0974>] (__rtc_read_time+0x4c/0x50)
the following patch by Arnaud Patard seemed to resolve the problem:
http://patchwork.ozlabs.org/patch/89644/
Index: imx-test/drivers/rtc/rtc-mc13xxx.c
===================================================================
--- imx-test.orig/drivers/rtc/rtc-mc13xxx.c
+++ imx-test/drivers/rtc/rtc-mc13xxx.c
@@ -349,8 +349,13 @@ static int __devinit mc13xxx_rtc_probe(s
if (ret)
goto err_alarm_irq_request;
+ mc13xxx_unlock(mc13xxx);
+
priv->rtc = rtc_device_register(pdev->name,
&pdev->dev, &mc13xxx_rtc_ops, THIS_MODULE);
+
+ mc13xxx_lock(mc13xxx);
+
if (IS_ERR(priv->rtc)) {
ret = PTR_ERR(priv->rtc);
live well,
vagrant
Reply to: