Re: fix for dmesg crash dump from TOI on resume...
Oleksandr Natalenko <[email protected]> Fri, 29 Nov 2013 17:45:15 +0200
| Newsgroups | gmane.linux.swsusp.devel |
|---|---|
| Message-ID | <6027431.sx7vbcTtJB@spock> |
Unfortunately, this patch breaks hibernation for me causing "No image found"
error right after starting hibernating process.
On Friday 29 November 2013 08:42:03 Woody Suwalski wrote:
> Nigel, if there is no TOI hibernation image, currently TOI will produce
> a stack trace:
> /...
> [101058.105322] PM: Starting manual resume from disk
> [101058.118616] Restarting tasks ...
> [101058.118736] ------------[ cut here ]------------
> [101058.118770] WARNING: CPU: 0 PID: 15027 at kernel/power/process.c:199
> thaw_processes+0xff/0x110()
> [101058.118780] Modules linked in: isofs nls_iso8859_1 nls_cp850 vfat
> fat sg usb_storage snd_pcm_oss snd_mixer_oss cpufreq_conservative
> cpufreq_powersave cpufreq_ondemand cpufreq_stats coretemp speedstep_lib
> uvcvideo hid_generic videobuf2_vmalloc videobuf2_memops videobuf2_core
> videodev media usbhid snd_hda_codec_realtek arc4 ath5k snd_hda_intel ath
> mac80211 snd_hda_codec cfg80211 snd_hwdep rfkill ehci_pci snd_pcm
> uhci_hcd snd_page_alloc snd_timer snd lpc_ich mfd_core ehci_hcd
> acpi_cpufreq soundcore usbcore usb_common atl1e rng_core thermal processor
> [101058.118922] CPU: 0 PID: 15027 Comm: cat Tainted: G W
> 3.12-pingu #1
> [101058.118927] Hardware name: ASUSTeK Computer INC. 900HA/900HA, BIOS
> 0001 09/09/2008
> [101058.118931] 00000009 c1666b1a 00000000 c1038f05 c18b19a8 00000000
> 00003ab3 c18b0544
> [101058.118942] 000000c7 c1079c2f c1079c2f f6689b90 c1964880 f668b720
> c169052c c1038f4b
> [101058.118953] 00000009 00000000 c1079c2f c18b052e c1964990 00000000
> 00000000 00000000
> [101058.118964] Call Trace:
> [101058.118976] [<c1666b1a>] ? dump_stack+0x48/0x6f
> [101058.118985] [<c1038f05>] ? warn_slowpath_common+0x85/0xb0
> [101058.118993] [<c1079c2f>] ? thaw_processes+0xff/0x110
> [101058.119000] [<c1079c2f>] ? thaw_processes+0xff/0x110
> [101058.119007] [<c1038f4b>] ? warn_slowpath_null+0x1b/0x20
> [101058.119014] [<c1079c2f>] ? thaw_processes+0xff/0x110
> [101058.119022] [<c106a273>] ? do_cleanup+0xc3/0x2b0
> [101058.119029] [<c106ce6e>] ? toi_stop_other_threads+0x5e/0x70
> [101058.119037] [<c106b1ce>] ? toi_try_resume+0x3e/0x80
> [101058.119044] [<c106b235>] ? toi_sys_power_disk_try_resume+0x25/0x40
> [101058.119051] [<c1068d99>] ? try_tuxonice_resume+0x19/0x60
> [101058.119059] [<c107b095>] ? software_resume+0x15/0x260
> [101058.119066] [<c107b382>] ? resume_store+0xa2/0xb0
> [101058.119074] [<c107b2e0>] ? software_resume+0x260/0x260
> [101058.119082] [<c12a10ab>] ? kobj_attr_store+0x1b/0x30
> [101058.119090] [<c114279b>] ? sysfs_write_file+0x9b/0x100
> [101058.119097] [<c1142700>] ? sysfs_open_file+0x1d0/0x1d0
> [101058.119104] [<c10ef66d>] ? vfs_write+0x9d/0x1a0
> [101058.119112] [<c10efab7>] ? SyS_write+0x57/0xa0
> [101058.119119] [<c166c74c>] ? syscall_call+0x7/0xb
> [101058.119125] ---[ end trace f8c80e7bc70a06e7 ]---
> [101058.119132] done.
> [101058.137404] PM: Syncing filesystems ... done.
>
> There seems to be no big side effects, just the dmesg log...
>
> The problem is in the toi_bio_core code, where it knows to avoid resume
> attempt if check for hibernation image returns -1 == no signature,
> however still tries when it is 0 == no image found.
>
> Here is a simple patch to fix that logic (also attached to prevent
> format mangling):
> --- a/kernel/power/tuxonice_bio_core.c 2013-11-28 22:33:39.000000000
> -0500
> +++ b/kernel/power/tuxonice_bio_core.c 2013-11-28 23:03:32.000000000
> -0500
> @@ -1706,7 +1706,7 @@ static int toi_bio_parse_sig_location(ch
>
> signature_found = toi_bio_image_exists(quiet);
>
> - if (signature_found != -1) {
> + if ( signature_found > 0 ) {
> result = 0;
> /*
> * TODO: If only file storage, CAN_HIBERNATE should only be
> @@ -1714,11 +1714,11 @@ static int toi_bio_parse_sig_location(ch
> */
> set_toi_state(TOI_CAN_HIBERNATE);
> set_toi_state(TOI_CAN_RESUME);
> - } else
> + } else if (signature_found < 0 ) {
> if (!quiet)
> printk(KERN_ERR "TuxOnIce: Block I/O: No "
> "signature found at %s.\n", devstart);
> -
> + }
> return result;
> }
>
> Thanks for your time in this project and wish you more job satisfaction
> in the next year 8-)
>
> Woody Suwalski
> Ottawa
--
Oleksandr post-factum Natalenko, MSc
pf-kernel community
https://natalenko.name/
_______________________________________________
TuxOnIce-devel mailing list
[email protected]
http://lists.tuxonice.net/listinfo/tuxonice-devel
signature.asc
(application/pgp-signature, 230 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iF4EABEIAAYFAlKYtpIACgkQj0K5Zbh/jjOXIwD/TjwacrNFGRp+V1mBsjxmSOvD yXRAsFuNec0ipzLlKvkA/0ZxOGRyDW5KGmf/H3gHeG4MLZwT2x0FMqxR77I2jDnq =Xe7C -----END PGP SIGNATURE-----