Bug 12711 - [git bisect] 2.6.29 regression: snd_hda_intel suspend bug
[git bisect] 2.6.29 regression: snd_hda_intel suspend bug
Status: CLOSED CODE_FIX
Product: Drivers
Classification: Unclassified
Component: Sound(ALSA)
All Linux
: P1 normal
Assigned To: Rafael J. Wysocki
:
Depends on:
Blocks: 7216 12398
  Show dependency treegraph
 
Reported: 2009-02-15 09:30 UTC by Alexandre Rostovtsev
Modified: 2009-02-23 15:40 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.29-rc5
Tree: Mainline
Regression: Yes


Attachments
Patch to revert 32e176c14d7a425b681ef003c9061001ddb7fc7b (993 bytes, patch)
2009-02-15 09:44 UTC, Alexandre Rostovtsev
Details | Diff
lspci -vvvv (22.64 KB, text/plain)
2009-02-15 09:46 UTC, Alexandre Rostovtsev
Details

Description Alexandre Rostovtsev 2009-02-15 09:30:19 UTC
Latest working kernel version: >2.6.28
Earliest failing kernel version: <2.6.29-rc4
Distribution: Gentoo
Hardware Environment: Lenovo ThinPad SL300, GM45, Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
Problem Description:
After resuming from suspend to RAM, there is no sound. Processes trying to play sounds simply freeze. Running "aplay error.wav" in the console (with no other processes relevant to sound running) yields the following error messages:

[ 1059.062824] __ratelimit: 567 callbacks suppressed
[ 1059.062832] ALSA sound/pci/hda/hda_intel.c:688: hda-intel: send_cmd timeout: 
IRS=0xffff, val=0x1f000a
[ 1059.062982] ALSA sound/pci/hda/hda_intel.c:688: hda-intel: send_cmd timeout: 
IRS=0xffff, val=0x1c70600
[ 1059.063132] ALSA sound/pci/hda/hda_intel.c:688: hda-intel: send_cmd timeout: 
IRS=0xffff, val=0x1070650
[ 1059.064539] ALSA sound/pci/hda/hda_intel.c:688: hda-intel: send_cmd timeout: 
IRS=0xffff, val=0x1020031
[ 1063.316067] ALSA sound/pci/hda/hda_intel.c:688: hda-intel: send_cmd timeout: 
IRS=0xffff, val=0x1070600

Steps to reproduce:
pm-suspend
(resume from suspend)
aplay some_sound_file.wav


After running git-bisect, I have found the commit that causes this bug on my hardware. It is:


32e176c14d7a425b681ef003c9061001ddb7fc7b is first bad commit
commit 32e176c14d7a425b681ef003c9061001ddb7fc7b
Author: Rafael J. Wysocki <rjw@sisk.pl>
Date:   Sat Dec 6 15:09:08 2008 +0100

    Sound: hda - Restore PCI configuration space with interrupts off

    Move the restoration of the standard PCI configuration registers
    in the snd_hda_intel driver to a ->resume_early() callback executed
    with interrupts disabled, since doing that with interrupts enabled
    may lead to problems in some cases.

    This patch addresses the regression from 2.6.26 tracked as
    http://bugzilla.kernel.org/show_bug.cgi?id=12121 .

    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

:040000 040000 f085132f23cffddd5aaed52d20c2d4081f74cdad 122446d572ef3245d1879202
0dd73a798b52c9fe M      sound


Reverting that patch makes sound work again after suspend on 2.6.29-rc5
Comment 1 Alexandre Rostovtsev 2009-02-15 09:44:39 UTC
Created attachment 20253 [details]
Patch to revert 32e176c14d7a425b681ef003c9061001ddb7fc7b

Reverting 32e176c14d7a425b681ef003c9061001ddb7fc7b fixes the regression and makes sound work again after resuming from suspend. (Tested on 2.6.29-rc5)
Comment 2 Alexandre Rostovtsev 2009-02-15 09:46:16 UTC
Created attachment 20254 [details]
lspci -vvvv
Comment 3 Rafael J. Wysocki 2009-02-15 12:48:46 UTC
First-Bad-Commit : 32e176c14d7a425b681ef003c9061001ddb7fc7b

Well, I think we'll have to revert this commit.

Takashi, could you take care of this, please?
Comment 4 Takashi Iwai 2009-02-16 01:39:07 UTC
OK, reverted on sound git tree now.
Will queue up for the next pull request.

Note You need to log in before you can comment on or make changes to this bug.