Hello, Here is a proposed patch against trunk for fixing this bug. Patch was written initial by Arnaud Patard, later changed by Uwe Kleine-König.
Best regards Index: debian/patches/bugfix/arm/rtc_mutex_lockup.patch =================================================================== --- debian/patches/bugfix/arm/rtc_mutex_lockup.patch (revision 0) +++ debian/patches/bugfix/arm/rtc_mutex_lockup.patch (revision 0) @@ -0,0 +1,80 @@ +Fix rtc-mc13xxx lockup + +Fix this lock up : + + +[ 240.159703] INFO: task swapper:1 blocked for more than 120 seconds. +[ 240.166030] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. +[ 240.173976] swapper D c03e688c 0 1 0 0x00000000 +[ 240.180483] Backtrace: +[ 240.183066] [<c03e65d0>] (schedule+0x0/0x2f0) from [<c03e72f8>] (__mutex_lock_slowpath+0x88/0xb4) +[ 240.192086] [<c03e7270>] (__mutex_lock_slowpath+0x0/0xb4) from [<c03e7588>] (mutex_lock+0x30/0x34) +[ 240.201151] r8:00000001 r7:df83fd8c r6:00000000 r5:df83fd8c r4:dfbd1204 +[ 240.208091] [<c03e7558>] (mutex_lock+0x0/0x34) from [<c0206644>] (mc13xxx_lock+0x28/0x2c) +[ 240.216403] r4:dfbd1204 r3:ffffffff +[ 240.220181] [<c020661c>] (mc13xxx_lock+0x0/0x2c) from [<c0284d08>] (mc13xxx_rtc_read_time+0x24/0xf4) +[ 240.229377] r4:dfbabc40 r3:c0284ce4 +[ 240.233127] [<c0284ce4>] (mc13xxx_rtc_read_time+0x0/0xf4) from [<c0282bd4>] (__rtc_read_time+0x50/0x5c) +[ 240.243441] r6:00000000 r5:df83fd8c r4:dfb46c00 +[ 240.248211] [<c0282b84>] (__rtc_read_time+0x0/0x5c) from [<c0282ebc>] (rtc_read_time+0x34/0x48) +[ 240.257020] r5:dfb46c00 r4:dfb46ce0 +[ 240.260763] [<c0282e88>] (rtc_read_time+0x0/0x48) from [<c0283090>] (__rtc_read_alarm+0x24/0x27c) +[ 240.269740] r7:dfb46c00 r6:dfbdcbd8 r5:dfb46c00 r4:df83fdec +[ 240.275582] [<c028306c>] (__rtc_read_alarm+0x0/0x27c) from [<c0282994>] (rtc_device_register+0x160/0x284) +[ 240.285320] [<c0282834>] (rtc_device_register+0x0/0x284) from [<c03e54a8>] (mc13xxx_rtc_probe+0x104/0x18c) +[ 240.295150] [<c03e53a4>] (mc13xxx_rtc_probe+0x0/0x18c) from [<c01fd7d4>] (platform_drv_probe+0x1c/0x20) +[ 240.304651] r8:00000000 r7:c0540db4 r6:c0540db4 r5:dfbdcb08 r4:dfbdcb08 +[ 240.311620] [<c01fd7b8>] (platform_drv_probe+0x0/0x20) from [<c01fc388>] (really_probe+0xa0/0x150) +[ 240.320730] [<c01fc2e8>] (really_probe+0x0/0x150) from [<c01fc5d0>] (driver_probe_device+0x28/0x34) +[ 240.329878] r7:00000000 r6:c0540db4 r5:dfbdcb3c r4:dfbdcb08 +[ 240.335725] [<c01fc5a8>] (driver_probe_device+0x0/0x34) from [<c01fc644>] (__driver_attach+0x68/0x8c) +[ 240.345907] [<c01fc5dc>] (__driver_attach+0x0/0x8c) from [<c01fb708>] (bus_for_each_dev+0x58/0x88) +[ 240.354976] r6:c01fc5dc r5:df83fee0 r4:c0540db4 r3:df80d4b4 +[ 240.360870] [<c01fb6b0>] (bus_for_each_dev+0x0/0x88) from [<c01fc1dc>] (driver_attach+0x20/0x28) +[ 240.369758] r7:00000000 r6:c0539c20 r5:dfba9180 r4:c0540db4 +[ 240.375604] [<c01fc1bc>] (driver_attach+0x0/0x28) from [<c01fbe0c>] (bus_add_driver+0xb4/0x230) +[ 240.384453] [<c01fbd58>] (bus_add_driver+0x0/0x230) from [<c01fcbc8>] (driver_register+0xa8/0x128) +[ 240.393568] [<c01fcb20>] (driver_register+0x0/0x128) from [<c01fdc48>] (platform_driver_register+0x4c/0x60) +[ 240.403469] [<c01fdbfc>] (platform_driver_register+0x0/0x60) from [<c01fdc7c>] (platform_driver_probe+0x20/0x70) +[ 240.413816] [<c01fdc5c>] (platform_driver_probe+0x0/0x70) from [<c001b458>] (mc13xxx_rtc_init+0x18/0x24) +[ 240.423406] r5:c002691c r4:c00267e4 +[ 240.427110] [<c001b440>] (mc13xxx_rtc_init+0x0/0x24) from [<c00304c0>] (do_one_initcall+0xa4/0x174) +[ 240.436302] [<c003041c>] (do_one_initcall+0x0/0x174) from [<c00089d4>] (kernel_init+0xa4/0x154) +[ 240.445916] [<c0008930>] (kernel_init+0x0/0x154) from [<c0049c74>] (do_exit+0x0/0x250) +[ 240.453936] r5:c0008930 r4:00000000 + +Signed-off-by: Arnaud Patard <arnaud.pat...@rtp-net.org> +Index: source/drivers/rtc/rtc-mc13xxx.c +=================================================================== +--- source.orig/drivers/rtc/rtc-mc13xxx.c 2011-05-07 16:44:37.000000000 +0000 ++++ source/drivers/rtc/rtc-mc13xxx.c 2011-05-07 17:15:24.000000000 +0000 +@@ -358,9 +358,14 @@ + + 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); + ++ mc13xxx_unlock(mc13xxx); ++ + mc13xxx_irq_free(mc13xxx, MC13XXX_IRQ_TODA, priv); + err_alarm_irq_request: + +@@ -372,12 +377,12 @@ + mc13xxx_irq_free(mc13xxx, MC13XXX_IRQ_RTCRST, priv); + err_reset_irq_request: + ++ mc13xxx_unlock(mc13xxx); ++ + platform_set_drvdata(pdev, NULL); + kfree(priv); + } + +- mc13xxx_unlock(mc13xxx); +- + return ret; + } + Index: debian/patches/series/base =================================================================== --- debian/patches/series/base (revision 17314) +++ debian/patches/series/base (working copy) @@ -44,3 +44,4 @@ + bugfix/all/rt2800-disable-powersaving-as-default.patch + bugfix/powerpc/powerpc-kexec-Fix-build-failure-on-32-bit-SMP.patch + bugfix/all/xhci-hcd-Include-linux-slab.h-in-xhci-pci.c.patch ++ bugfix/arm/rtc_mutex_lockup.patch Index: debian/changelog =================================================================== --- debian/changelog (revision 17314) +++ debian/changelog (working copy) @@ -16,8 +16,13 @@ * [mips,mipsel] Disabled CONFIG_DRM_NOUVEAU and CONFIG_DRM_RADEON_KMS. * [mips/octeon] Disabled CONFIG_HOTPLUG_CPU and CONFIG_PM. - -- maximilian attems <m...@debian.org> Tue, 01 May 2011 14:36:33 +0100 + [ Hector Oron ] + * rtc-mc13xxx.c: bugfix rtc-mc13xxx.c lockup on armhf. + Thanks to Arnaud Patard, Uwe Kleine-König and Vagrant Cascadian. + (Closes: #625804) + -- Hector Oron <zu...@debian.org> Sat, 07 May 2011 22:15:47 +0000 + linux-2.6 (2.6.39~rc5-1~experimental.1) experimental; urgency=low * New upstream release candidate -- Héctor Orón "Our Sun unleashes tremendous flares expelling hot gas into the Solar System, which one day will disconnect us." -- Day DVB-T stop working nicely Video flare: http://antwrp.gsfc.nasa.gov/apod/ap100510.html
signature.asc
Description: Digital signature