[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: