From: Francis Moreau <francis.moro@gmail.com>
To: Jingoo Han <jg1.han@samsung.com>,
"'Wei WANG'" <wei_wang@realsil.com.cn>,
"'Samuel Ortiz'" <sameo@linux.intel.com>,
"'Chris Ball'" <cjb@laptop.org>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
Thomas Gleixner <tglx@linutronix.de>,
"'Borislav Petkov'" <bp@alien8.de>,
"'LKML'" <linux-kernel@vger.kernel.org>
Subject: Re: 3.12: kernel panic when resuming from suspend to RAM (x86_64)
Date: Fri, 29 Nov 2013 09:28:49 +0100 [thread overview]
Message-ID: <52985041.5050000@gmail.com> (raw)
In-Reply-To: <1821758.2MoNI3h1Mv@vostro.rjw.lan>
Hello,
On 11/25/2013 11:47 AM, Rafael J. Wysocki wrote:
> On Monday, November 25, 2013 08:42:21 AM Francis Moreau wrote:
>> On 11/24/2013 10:06 PM, Rafael J. Wysocki wrote:
>>> On Sunday, November 24, 2013 10:39:20 AM Francis Moreau wrote:
>>>> Hello Thomas
>>>>
>>>> On 11/22/2013 11:27 PM, Thomas Gleixner wrote:
>>>>> On Fri, 22 Nov 2013, Rafael J. Wysocki wrote:
>>>>>> On Friday, November 22, 2013 10:36:23 PM Francis Moreau wrote:
>>>>>>> Ok, I've finally managed to find out the bad commit:
>>>>>>> ad07277e82dedabacc52c82746633680a3187d25: ACPI / PM: Hold acpi_scan_lock
>>>>>>> over system PM transitions
>>>>>>>
>>>>>>> I verified that the parent commit doesn't have the problem.
>>>>>>
>>>>>> Interesting.
>>>>>>
>>>>>>> Rafael, you're the man now ;)
>>>>>>
>>>>>> I kind of don't see how that commit may result in behavior that you
>>>>>> described earlier in the thread.
>>>>>>
>>>>>> You get a memory corruption that seems to have started to happen because
>>>>>> we're holding an additional lock over suspend resume now. Something's fishy
>>>>>> on that machine and we need to figure out what it is.
>>>>>
>>>>> The hickup happens in the timer softirq.
>>>>>
>>>>> @Francis: Did you try to enable DEBUG_OBJECTS.*. If not please give it
>>>>> a try.
>>>>
>>>> This looks like it was a good idea.
>>>>
>>>> The kernel now outputs the following traces after resuming.
>>>>
>>>> [ 26.973928] WARNING: CPU: 0 PID: 4 at lib/debugobjects.c:260
>>>> debug_print_object+0x83/0xa0()
>>>> [ 26.973932] ODEBUG: free active (active state 0) object type:
>>>> timer_list hint: delayed_work_timer_fn+0x0/0x20
>>>> [ 26.973972] Modules linked in: x86_pkg_temp_thermal intel_powerclamp
>>>> rtsx_pci_ms coretemp memstick kvm_intel i2c_i801 iTCO_wdt
>>>> iTCO_vendor_support i915 i2c_algo_bit intel_agp intel_gtt drm_kms_helper
>>>> r8169 drm kvm mii agpgart i2c_core lpc_ich ac shpchp crc32c_intel
>>>> battery thermal wmi evdev mei_me video mei button mperf processor
>>>> serio_raw microcode ext4 crc16 mbcache jbd2 sr_mod cdrom sd_mod
>>>> usb_storage rtsx_pci_sdmmc mmc_core ahci libahci libata ehci_pci
>>>> ehci_hcd xhci_hcd scsi_mod rtsx_pci usbcore usb_common
>>>> [ 26.974013] CPU: 0 PID: 4 Comm: kworker/0:0 Not tainted
>>>> 3.11.0-rc2-ARCH #64
>>>> [ 26.974014] Hardware name: CLEVO CO. W55xEU
>>>> /W55xEU , BIOS 4.6.5
>>>> 03/05/2013
>>>> [ 26.974019] Workqueue: kacpi_hotplug hotplug_event_work
>>>> [ 26.974020] 0000000000000009 ffff880407d0da18 ffffffff81459fe9
>>>> ffff880407d0da60
>>>> [ 26.974023] ffff880407d0da50 ffffffff8104dc7d ffff880407fad488
>>>> ffffffff81836fc0
>>>> [ 26.974025] ffffffff81701358 ffffffff81afef70 0000000000000003
>>>> ffff880407d0dab0
>>>> [ 26.974027] Call Trace:
>>>> [ 26.974031] [<ffffffff81459fe9>] dump_stack+0x54/0x8d
>>>> [ 26.974043] [<ffffffff8104dc7d>] warn_slowpath_common+0x7d/0xa0
>>>> [ 26.974044] [<ffffffff8104dcec>] warn_slowpath_fmt+0x4c/0x50
>>>> [ 26.974047] [<ffffffff81261433>] debug_print_object+0x83/0xa0
>>>> [ 26.974050] [<ffffffff8106b820>] ? queue_work_on+0x50/0x50
>>>> [ 26.974053] [<ffffffff81261c2b>] __debug_check_no_obj_freed+0x1fb/0x240
>>>> [ 26.974059] [<ffffffffa008e959>] ? rtsx_pci_remove+0x119/0x1d0
>>>> [rtsx_pci]
>>>
>>> So a device driven by rtsx_pcr.c is removed after resume. Without the commit
>>> you've bisected it is removed as well, but that happens during resume, so
>>> rtsx_pci_resume() is likely not called in that case.
>>
>> I'm not sure to understand your point.
>
> The problem is that with the commit you've bisected, the whole removal of
> rtsx_pcr is likely done *before* the PM core calls resume callbacks of
> device drivers (although only incidentally, because it very well may be
> done in parallel with that). However, after that commit the removal is only
> done after the resume callbacks have been called, which means that the device
> is not physically present when rtsx_pci_resume() is called. Of course,
> it may not be physically present at that point anyway, so rtsx_pci_resume()
> should have taken that into consideration already, but it doesn't from what
> I can say.
>
Since it seems to be related to rtsx driver or its upper layer, could
the folks involved in this area have a look to this issue please ?
Thank you
next prev parent reply other threads:[~2013-11-29 8:28 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-17 9:42 3.12: kernel panic when resuming from suspend to RAM (x86_64) Francis Moreau
2013-11-17 13:25 ` Borislav Petkov
2013-11-17 15:50 ` Francis Moreau
2013-11-17 16:01 ` Borislav Petkov
2013-11-17 18:02 ` Francis Moreau
2013-11-17 19:53 ` Borislav Petkov
2013-11-17 20:49 ` Francis Moreau
2013-11-17 22:06 ` Borislav Petkov
2013-11-17 22:34 ` Rafael J. Wysocki
2013-11-17 22:46 ` Borislav Petkov
2013-11-18 12:21 ` Francis Moreau
2013-11-18 12:20 ` Francis Moreau
2013-11-18 0:33 ` Kevin Easton
2013-11-18 1:04 ` Borislav Petkov
2013-11-18 2:43 ` Kevin Easton
2013-11-18 12:19 ` Francis Moreau
2013-11-18 13:32 ` Borislav Petkov
2013-11-19 10:01 ` Francis Moreau
2013-11-19 10:15 ` Borislav Petkov
2013-11-20 9:45 ` Francis Moreau
2013-11-20 11:15 ` Borislav Petkov
2013-11-21 8:22 ` Francis Moreau
2013-11-21 10:12 ` Borislav Petkov
2013-11-21 11:17 ` Jingoo Han
2013-11-21 13:07 ` Francis Moreau
2013-11-22 7:43 ` Francis Moreau
2013-11-22 9:57 ` Francis Moreau
2013-11-22 12:54 ` Rafael J. Wysocki
2013-11-22 21:36 ` Francis Moreau
2013-11-22 22:08 ` Rafael J. Wysocki
2013-11-22 22:27 ` Thomas Gleixner
2013-11-24 9:39 ` Francis Moreau
2013-11-24 13:31 ` Borislav Petkov
2013-11-24 21:06 ` Rafael J. Wysocki
2013-11-25 7:42 ` Francis Moreau
2013-11-25 10:47 ` Rafael J. Wysocki
2013-11-29 8:28 ` Francis Moreau [this message]
2013-11-29 9:02 ` Thomas Gleixner
2013-11-30 15:07 ` Francis Moreau
2013-11-30 20:17 ` Rafael J. Wysocki
2013-12-01 10:11 ` Francis Moreau
2013-12-01 19:26 ` Francis Moreau
2013-12-02 10:49 ` Thomas Gleixner
2013-12-02 11:20 ` Thomas Gleixner
2013-12-03 8:14 ` Francis Moreau
2013-12-09 19:33 ` Francis Moreau
2013-12-09 22:27 ` Samuel Ortiz
2013-12-09 22:17 ` Samuel Ortiz
2013-12-10 1:39 ` wwang
2013-12-10 1:56 ` micky
2013-12-10 8:29 ` Samuel Ortiz
2014-01-10 7:26 ` Francis Moreau
2014-01-10 9:16 ` micky
2014-01-10 9:52 ` Samuel Ortiz
2014-01-10 10:07 ` Francis Moreau
2013-12-10 10:50 ` Francis Moreau
2013-12-17 8:03 ` Francis Moreau
2013-12-18 4:05 ` micky
2013-12-18 8:12 ` Francis Moreau
2013-12-20 1:30 ` micky
2013-12-20 2:28 ` Jingoo Han
2013-12-10 10:49 ` Francis Moreau
2013-11-24 9:42 ` Francis Moreau
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=52985041.5050000@gmail.com \
--to=francis.moro@gmail.com \
--cc=bp@alien8.de \
--cc=cjb@laptop.org \
--cc=jg1.han@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rjw@rjwysocki.net \
--cc=sameo@linux.intel.com \
--cc=tglx@linutronix.de \
--cc=wei_wang@realsil.com.cn \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.