public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: ezequiel.garcia@free-electrons.com (Ezequiel Garcia)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 2/2] ARM hibernation / suspend-to-disk
Date: Wed, 19 Mar 2014 12:44:34 -0300	[thread overview]
Message-ID: <20140319154434.GA3488@arch.cereza> (raw)
In-Reply-To: <CADHgK6tHngKVZS=jo=VYt3Nt3dhiEmiWr28iDy7q_uR9goBj=Q@mail.gmail.com>

On Mar 17, Sebastian Capella wrote:
[..]
> 
> Thanks, I've added it like this in arch/arm/Kconfig.  I'm sure you
> know, but this way also takes care of the CPU_FEROCEON in the default
> list since SUSPEND_POSSIBLE already contains it.
> 
> config ARCH_HIBERNATION_POSSIBLE
>         bool
>         depends on MMU
>         default y if ARCH_SUSPEND_POSSIBLE
> 
> Does this look ok?
> 

I applied this change on top of your patches and tested it on a Kirkwood
Openblocks A6 board, using a resume=/dev/sda2 kernel parameter (iow, without
any U-Boot assistance to resume). Seems to work fine (as you can see here
http://sprunge.us/BJRV). I guess you can add a:

Tested-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>

On the other side, this board has no pm_power_off() support, which means
kernel_halt() is called after kernel_power_off().

I'm not sure if a NULL pm_power_off() is supported, but this makes my kernel
crash in a reboot notifier that's called twice (first in kernel_power_off
and then in kernel_halt):

Unable to handle kernel paging request at virtual address 00100104
pgd = df634000
[00100104] *pgd=1f5c3831, *pte=00000000, *ppte=00000000
Internal error: Oops: 817 [#1] PREEMPT ARM
CPU: 0 PID: 565 Comm: sh Not tainted 3.14.0-rc6-00002-g06da70a-dirty #24
task: df4d5440 ti: df666000 task.ti: df666000
PC is at led_trigger_unregister+0x3c/0xcc
LR is at led_trigger_unregister+0x20/0xcc
pc : [<c0273090>]    lr : [<c0273074>]    psr: 60000093
sp : df667e50  ip : 00100100  fp : 000ab294
r10: 00000002  r9 : 00000000  r8 : c0459a6c
r7 : c046c87c  r6 : c046c964  r5 : c03ee198  r4 : c046c964
r3 : 00200200  r2 : 00100100  r1 : 00200200  r0 : c046c8e4
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 0005397f  Table: 1f634000  DAC: 00000015
Process sh (pid: 565, stack limit = 0xdf6661c0)
Stack: (0xdf667e50 to 0xdf668000)
7e40:                                     00000000 c046c964 c03ee198 00000000
7e60: 00000000 c0273ae0 c0273ab4 c046c94c ffffffff c0036698 c04546c8 ffffffff
7e80: 00000000 00000002 c0446800 c04550e8 df5270c8 c0036b24 00000000 c034cce0
7ea0: c03c4b18 c04550e8 df666018 00000000 c0476f60 c0036b54 00000000 c04550e8
7ec0: df5270c8 c00378ec 00000001 c034cc64 c0455288 c0044cac 0000006b df4270d8
7ee0: df53f480 00000005 00000004 df53f480 00000005 c0042dc4 00000005 df4270d8
7f00: df53f480 00000005 df667f80 df53f480 df5270c0 c01a2bf4 00000005 c0108dd0
7f20: c0108d8c 00000000 00000000 c010c090 00000000 00000000 df4dd280 000acb10
7f40: df667f80 00000005 00000000 00000005 00000000 c00af2b8 fffffff6 c0019d9c
7f60: 00000003 00000000 00000000 df4dd280 000acb10 00000000 00000005 c00af448
7f80: 00000000 00000000 00200200 000aa8b0 00000001 000acb10 00000004 c0009424
7fa0: df666000 c00092c0 000aa8b0 00000001 00000001 000acb10 00000005 00000000
7fc0: 000aa8b0 00000001 000acb10 00000004 00000020 000ab2a8 000ab274 000ab294
7fe0: 00000005 befbd738 0000e1f0 b6edeb4c 60000010 00000001 1fffd831 1fffdc31
[<c0273090>] (led_trigger_unregister) from [<c0273ae0>] (heartbeat_reboot_notifier+0x2c/0x40)
[<c0273ae0>] (heartbeat_reboot_notifier) from [<c0036698>] (notifier_call_chain+0x48/0x9c)
[<c0036698>] (notifier_call_chain) from [<c0036b24>] (__blocking_notifier_call_chain+0x48/0x60)
[<c0036b24>] (__blocking_notifier_call_chain) from [<c0036b54>] (blocking_notifier_call_chain+0x18/0x20)
[<c0036b54>] (blocking_notifier_call_chain) from [<c00378ec>] (kernel_halt+0x14/0x58)
[<c00378ec>] (kernel_halt) from [<c034cc64>] (power_down+0x8c/0xac)
[<c034cc64>] (power_down) from [<c0044cac>] (hibernate+0x1a8/0x1ec)
[<c0044cac>] (hibernate) from [<c0042dc4>] (state_store+0xac/0xb8)
[<c0042dc4>] (state_store) from [<c01a2bf4>] (kobj_attr_store+0x14/0x20)
[<c01a2bf4>] (kobj_attr_store) from [<c0108dd0>] (sysfs_kf_write+0x44/0x48)
[<c0108dd0>] (sysfs_kf_write) from [<c010c090>] (kernfs_fop_write+0xb4/0x14c)
[<c010c090>] (kernfs_fop_write) from [<c00af2b8>] (vfs_write+0xac/0x188)
[<c00af2b8>] (vfs_write) from [<c00af448>] (SyS_write+0x3c/0x78)
[<c00af448>] (SyS_write) from [<c00092c0>] (ret_fast_syscall+0x0/0x2c)
Code: e3a03602 e2822c01 e2833c02 e59f7084 (e58c1004) 
---[ end trace 72dd5ccae5489f38 ]---

-- 
Ezequiel Garc?a, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com

  reply	other threads:[~2014-03-19 15:44 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-05 10:50 [PATCH v7 0/2] hibernation support on ARM Sebastian Capella
2014-03-05 10:50 ` [PATCH v7 1/2] ARM: avoid tracers in soft_restart Sebastian Capella
2014-03-06 23:45   ` Sebastian Capella
2014-03-19 23:26     ` Sebastian Capella
2014-03-05 10:50 ` [PATCH v7 2/2] ARM hibernation / suspend-to-disk Sebastian Capella
2014-03-07  4:21   ` Sebastian Capella
2014-03-07  4:42   ` Stephen Boyd
2014-03-10 18:32     ` Sebastian Capella
2014-03-16  9:46       ` Russell King - ARM Linux
2014-03-17 22:07         ` Sebastian Capella
2014-03-16  7:09   ` Ezequiel Garcia
2014-03-17 19:10     ` Sebastian Capella
2014-03-17 20:44       ` Ezequiel Garcia
2014-03-17 22:39         ` Sebastian Capella
2014-03-19 15:44           ` Ezequiel Garcia [this message]
2014-03-19 20:47             ` Sebastian Capella
2014-03-19 21:06               ` Sebastian Capella
2014-03-24 18:06                 ` Sebastian Capella
2014-03-25 18:38                 ` Alexander Holler
2014-03-25 18:48                   ` Sebastian Capella
2014-03-25 23:36                   ` Alexander Holler
2014-03-26  0:00                     ` Alexander Holler
2014-03-20  3:02             ` TonyHo
2014-03-20 17:26               ` Sebastian Capella
2014-04-16 10:12   ` Russell King - ARM Linux
2014-04-16 16:42     ` Sebastian Capella
2014-04-17 20:38       ` Sebastian Capella
2014-04-23  0:38         ` Sebastian Capella
2014-04-23 16:39           ` Sebastian Capella
2014-05-07 15:37             ` Pavel Machek
2014-05-07 22:20               ` Sebastian Capella

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140319154434.GA3488@arch.cereza \
    --to=ezequiel.garcia@free-electrons.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox