[alsa-devel] Hung task with trace after resume on kernel v3.7-rc6
Hello,
I have an Thinkpad X121e with the following soundcard: 00:01.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI Wrestler HDMI Audio [Radeon HD 6250/6310] [1002:1314]
After resuming after an suspend (either to ram or to disk) I found this output in my dmesg: [ 7514.237941] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7514.238085] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238090] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7514.238094] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238099] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7514.238104] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238109] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238113] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238118] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238123] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238127] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238132] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238137] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238141] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238154] hda-intel: spurious response 0xffffffff:0x0, last cmd=0x1970700 [ 7514.238159] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7514.238443] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238448] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7514.238452] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238457] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7514.238461] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238466] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238471] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238475] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238480] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238485] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238489] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238494] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7514.238499] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7514.238563] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238568] hda-intel: spurious response 0xffffffff:0x0, last cmd=0x1970700 [ 7514.238573] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7514.238610] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7516.240988] hda-intel: azx_get_response timeout, switching to polling mode: last cmd=0x01a70700 [ 7517.345017] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.345374] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345379] hda-intel: spurious response 0xffffffff:0x0, last cmd=0x1970700 [ 7517.345384] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.345453] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345458] hda-intel: spurious response 0x7fffffff:0x0, last cmd=0x1970700 [ 7517.345463] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.345639] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345644] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7517.345648] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345653] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7517.345658] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345662] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345667] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345671] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345676] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345681] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345685] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345690] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7517.345695] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345700] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7517.345704] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345709] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345713] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345718] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345723] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345727] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345732] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345737] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345741] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345747] hda-intel: spurious response 0xffffffff:0x0, last cmd=0x1970700 [ 7517.345751] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.346035] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.346040] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7517.346045] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.346050] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7517.346054] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.346082] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.346087] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7517.346092] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.346156] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.346161] hda-intel: spurious response 0xffffffff:0x0, last cmd=0x1970700 [ 7517.346166] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.346203] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7518.346490] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x01a70700 [ 7670.241195] INFO: task kworker/u:13:3734 blocked for more than 120 seconds. [ 7670.241208] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 7670.241215] kworker/u:13 D ffff88011ec128c0 0 3734 2 0x00000000 [ 7670.241229] ffff880104538690 0000000000000046 ffff880118c19b14 ffffffff81813420 [ 7670.241240] ffff880118c19fd8 ffff880118c19fd8 ffff880118c19fd8 ffff880104538690 [ 7670.241250] ffff88008d688098 ffff880118c19c20 ffff880118c19c18 ffff880104538690 [ 7670.241261] Call Trace: [ 7670.241281] [<ffffffff81403302>] ? schedule_timeout+0x1e2/0x2a0 [ 7670.241293] [<ffffffff81404982>] ? wait_for_common+0xd2/0x180 [ 7670.241305] [<ffffffff810693f0>] ? try_to_wake_up+0x270/0x270 [ 7670.241315] [<ffffffff81052911>] ? flush_work+0xe1/0x160 [ 7670.241325] [<ffffffff81051c10>] ? gcwq_release_assoc_and_unlock+0x40/0x40 [ 7670.241335] [<ffffffff8105369d>] ? __cancel_work_timer+0x5d/0xa0 [ 7670.241377] [<ffffffffa01b7f5c>] ? hda_call_codec_suspend+0x14c/0x160 [snd_hda_codec] [ 7670.241397] [<ffffffffa01b7fb0>] ? snd_hda_suspend+0x40/0x60 [snd_hda_codec] [ 7670.241413] [<ffffffffa018d693>] ? azx_bus_reset+0x73/0xa0 [snd_hda_intel] [ 7670.241433] [<ffffffffa01b6e55>] ? codec_exec_verb+0x185/0x1c0 [snd_hda_codec] [ 7670.241452] [<ffffffffa01b6ee8>] ? snd_hda_codec_read+0x58/0x90 [snd_hda_codec] [ 7670.241473] [<ffffffffa01b7b68>] ? snd_hda_shutup_pins+0x58/0x70 [snd_hda_codec] [ 7670.241489] [<ffffffffa028c369>] ? conexant_suspend+0x9/0x10 [snd_hda_codec_conexant] [ 7670.241507] [<ffffffffa01b7e2e>] ? hda_call_codec_suspend+0x1e/0x160 [snd_hda_codec] [ 7670.241526] [<ffffffffa01b8048>] ? hda_power_work+0x78/0xc0 [snd_hda_codec] [ 7670.241536] [<ffffffff81052f06>] ? process_one_work+0x126/0x490 [ 7670.241554] [<ffffffffa01b7fd0>] ? snd_hda_suspend+0x60/0x60 [snd_hda_codec] [ 7670.241564] [<ffffffff81054c3d>] ? worker_thread+0x15d/0x450 [ 7670.241573] [<ffffffff81054ae0>] ? flush_delayed_work+0x40/0x40 [ 7670.241582] [<ffffffff810599a3>] ? kthread+0xb3/0xc0 [ 7670.241591] [<ffffffff810598f0>] ? kthread_create_on_node+0x110/0x110 [ 7670.241601] [<ffffffff8140616c>] ? ret_from_fork+0x7c/0xb0 [ 7670.241609] [<ffffffff810598f0>] ? kthread_create_on_node+0x110/0x110
If you need further information, please feel free to ask.
With best regards, Julian Wollrath
On Sun, Nov 18, 2012 at 7:18 AM, Julian Wollrath jwollrath@web.de wrote:
Hello,
I have an Thinkpad X121e with the following soundcard: 00:01.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI Wrestler HDMI Audio [Radeon HD 6250/6310] [1002:1314]
After resuming after an suspend (either to ram or to disk) I found this output in my dmesg: [ 7514.237941] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7514.238085] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238090] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7514.238094] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238099] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7514.238104] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238109] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238113] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238118] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238123] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238127] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238132] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238137] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238141] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238154] hda-intel: spurious response 0xffffffff:0x0, last cmd=0x1970700 [ 7514.238159] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7514.238443] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238448] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7514.238452] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238457] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7514.238461] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238466] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238471] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238475] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238480] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238485] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238489] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238494] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7514.238499] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7514.238563] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238568] hda-intel: spurious response 0xffffffff:0x0, last cmd=0x1970700 [ 7514.238573] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7514.238610] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7516.240988] hda-intel: azx_get_response timeout, switching to polling mode: last cmd=0x01a70700 [ 7517.345017] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.345374] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345379] hda-intel: spurious response 0xffffffff:0x0, last cmd=0x1970700 [ 7517.345384] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.345453] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345458] hda-intel: spurious response 0x7fffffff:0x0, last cmd=0x1970700 [ 7517.345463] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.345639] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345644] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7517.345648] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345653] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7517.345658] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345662] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345667] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345671] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345676] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345681] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345685] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345690] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7517.345695] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345700] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7517.345704] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345709] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345713] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345718] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345723] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345727] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345732] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345737] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345741] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345747] hda-intel: spurious response 0xffffffff:0x0, last cmd=0x1970700 [ 7517.345751] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.346035] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.346040] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7517.346045] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.346050] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7517.346054] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.346082] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.346087] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7517.346092] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.346156] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.346161] hda-intel: spurious response 0xffffffff:0x0, last cmd=0x1970700 [ 7517.346166] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.346203] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7518.346490] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x01a70700
This looks bad, should figure out why this happened, but it certainly shouldn't cause a hung task.
[ 7670.241195] INFO: task kworker/u:13:3734 blocked for more than 120 seconds. [ 7670.241208] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 7670.241215] kworker/u:13 D ffff88011ec128c0 0 3734 2 0x00000000 [ 7670.241229] ffff880104538690 0000000000000046 ffff880118c19b14 ffffffff81813420 [ 7670.241240] ffff880118c19fd8 ffff880118c19fd8 ffff880118c19fd8 ffff880104538690 [ 7670.241250] ffff88008d688098 ffff880118c19c20 ffff880118c19c18 ffff880104538690 [ 7670.241261] Call Trace: [ 7670.241281] [<ffffffff81403302>] ? schedule_timeout+0x1e2/0x2a0 [ 7670.241293] [<ffffffff81404982>] ? wait_for_common+0xd2/0x180 [ 7670.241305] [<ffffffff810693f0>] ? try_to_wake_up+0x270/0x270 [ 7670.241315] [<ffffffff81052911>] ? flush_work+0xe1/0x160 [ 7670.241325] [<ffffffff81051c10>] ? gcwq_release_assoc_and_unlock+0x40/0x40 [ 7670.241335] [<ffffffff8105369d>] ? __cancel_work_timer+0x5d/0xa0 [ 7670.241377] [<ffffffffa01b7f5c>] ? hda_call_codec_suspend+0x14c/0x160 [snd_hda_codec] [ 7670.241397] [<ffffffffa01b7fb0>] ? snd_hda_suspend+0x40/0x60 [snd_hda_codec] [ 7670.241413] [<ffffffffa018d693>] ? azx_bus_reset+0x73/0xa0 [snd_hda_intel] [ 7670.241433] [<ffffffffa01b6e55>] ? codec_exec_verb+0x185/0x1c0 [snd_hda_codec] [ 7670.241452] [<ffffffffa01b6ee8>] ? snd_hda_codec_read+0x58/0x90 [snd_hda_codec] [ 7670.241473] [<ffffffffa01b7b68>] ? snd_hda_shutup_pins+0x58/0x70 [snd_hda_codec] [ 7670.241489] [<ffffffffa028c369>] ? conexant_suspend+0x9/0x10 [snd_hda_codec_conexant] [ 7670.241507] [<ffffffffa01b7e2e>] ? hda_call_codec_suspend+0x1e/0x160 [snd_hda_codec] [ 7670.241526] [<ffffffffa01b8048>] ? hda_power_work+0x78/0xc0 [snd_hda_codec] [ 7670.241536] [<ffffffff81052f06>] ? process_one_work+0x126/0x490 [ 7670.241554] [<ffffffffa01b7fd0>] ? snd_hda_suspend+0x60/0x60 [snd_hda_codec] [ 7670.241564] [<ffffffff81054c3d>] ? worker_thread+0x15d/0x450 [ 7670.241573] [<ffffffff81054ae0>] ? flush_delayed_work+0x40/0x40 [ 7670.241582] [<ffffffff810599a3>] ? kthread+0xb3/0xc0 [ 7670.241591] [<ffffffff810598f0>] ? kthread_create_on_node+0x110/0x110 [ 7670.241601] [<ffffffff8140616c>] ? ret_from_fork+0x7c/0xb0 [ 7670.241609] [<ffffffff810598f0>] ? kthread_create_on_node+0x110/0x110
I added a fix recently to prevent a similar lockup but I missed the case where snd_hda_suspend is called from azx_reset_bus in turn called from snd_hda_suspend.
I'm torn between fixing this lockup and just avoiding this recursive call. Without the lockup, what state do we leave the codec in when this happens?
Am I understanding the scenario below correctly?
- do first half of suspend - verb exec error --> reset --- suspend --- resume (and queue work to suspend later - second half of suspend (Is this OK?)
Maybe a state machine of some sort could be added to manage the power state. It could notice the error and restart the suspend from the beginning. That way the codec suspend function is called again and a complete transition to suspended is performed.
Takashi, do you see a simple way of handling this?
-Dylan
If you need further information, please feel free to ask.
With best regards, Julian Wollrath _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
At Sun, 18 Nov 2012 21:54:45 -0800, Dylan Reid wrote:
On Sun, Nov 18, 2012 at 7:18 AM, Julian Wollrath jwollrath@web.de wrote:
Hello,
I have an Thinkpad X121e with the following soundcard: 00:01.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI Wrestler HDMI Audio [Radeon HD 6250/6310] [1002:1314]
After resuming after an suspend (either to ram or to disk) I found this output in my dmesg: [ 7514.237941] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7514.238085] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238090] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7514.238094] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238099] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7514.238104] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238109] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238113] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238118] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238123] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238127] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238132] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238137] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238141] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238154] hda-intel: spurious response 0xffffffff:0x0, last cmd=0x1970700 [ 7514.238159] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7514.238443] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238448] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7514.238452] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238457] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7514.238461] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238466] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238471] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238475] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238480] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238485] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238489] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238494] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7514.238499] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7514.238563] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7514.238568] hda-intel: spurious response 0xffffffff:0x0, last cmd=0x1970700 [ 7514.238573] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7514.238610] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7516.240988] hda-intel: azx_get_response timeout, switching to polling mode: last cmd=0x01a70700 [ 7517.345017] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.345374] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345379] hda-intel: spurious response 0xffffffff:0x0, last cmd=0x1970700 [ 7517.345384] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.345453] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345458] hda-intel: spurious response 0x7fffffff:0x0, last cmd=0x1970700 [ 7517.345463] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.345639] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345644] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7517.345648] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345653] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7517.345658] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345662] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345667] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345671] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345676] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345681] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345685] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345690] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7517.345695] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345700] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7517.345704] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345709] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345713] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345718] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345723] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345727] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345732] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345737] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345741] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.345747] hda-intel: spurious response 0xffffffff:0x0, last cmd=0x1970700 [ 7517.345751] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.346035] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.346040] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7517.346045] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.346050] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 7517.346054] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.346082] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.346087] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 7517.346092] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.346156] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7517.346161] hda-intel: spurious response 0xffffffff:0x0, last cmd=0x1970700 [ 7517.346166] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 .... [ 7517.346203] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 7518.346490] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x01a70700
This looks bad, should figure out why this happened, but it certainly shouldn't cause a hung task.
[ 7670.241195] INFO: task kworker/u:13:3734 blocked for more than 120 seconds. [ 7670.241208] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 7670.241215] kworker/u:13 D ffff88011ec128c0 0 3734 2 0x00000000 [ 7670.241229] ffff880104538690 0000000000000046 ffff880118c19b14 ffffffff81813420 [ 7670.241240] ffff880118c19fd8 ffff880118c19fd8 ffff880118c19fd8 ffff880104538690 [ 7670.241250] ffff88008d688098 ffff880118c19c20 ffff880118c19c18 ffff880104538690 [ 7670.241261] Call Trace: [ 7670.241281] [<ffffffff81403302>] ? schedule_timeout+0x1e2/0x2a0 [ 7670.241293] [<ffffffff81404982>] ? wait_for_common+0xd2/0x180 [ 7670.241305] [<ffffffff810693f0>] ? try_to_wake_up+0x270/0x270 [ 7670.241315] [<ffffffff81052911>] ? flush_work+0xe1/0x160 [ 7670.241325] [<ffffffff81051c10>] ? gcwq_release_assoc_and_unlock+0x40/0x40 [ 7670.241335] [<ffffffff8105369d>] ? __cancel_work_timer+0x5d/0xa0 [ 7670.241377] [<ffffffffa01b7f5c>] ? hda_call_codec_suspend+0x14c/0x160 [snd_hda_codec] [ 7670.241397] [<ffffffffa01b7fb0>] ? snd_hda_suspend+0x40/0x60 [snd_hda_codec] [ 7670.241413] [<ffffffffa018d693>] ? azx_bus_reset+0x73/0xa0 [snd_hda_intel] [ 7670.241433] [<ffffffffa01b6e55>] ? codec_exec_verb+0x185/0x1c0 [snd_hda_codec] [ 7670.241452] [<ffffffffa01b6ee8>] ? snd_hda_codec_read+0x58/0x90 [snd_hda_codec] [ 7670.241473] [<ffffffffa01b7b68>] ? snd_hda_shutup_pins+0x58/0x70 [snd_hda_codec] [ 7670.241489] [<ffffffffa028c369>] ? conexant_suspend+0x9/0x10 [snd_hda_codec_conexant] [ 7670.241507] [<ffffffffa01b7e2e>] ? hda_call_codec_suspend+0x1e/0x160 [snd_hda_codec] [ 7670.241526] [<ffffffffa01b8048>] ? hda_power_work+0x78/0xc0 [snd_hda_codec] [ 7670.241536] [<ffffffff81052f06>] ? process_one_work+0x126/0x490 [ 7670.241554] [<ffffffffa01b7fd0>] ? snd_hda_suspend+0x60/0x60 [snd_hda_codec] [ 7670.241564] [<ffffffff81054c3d>] ? worker_thread+0x15d/0x450 [ 7670.241573] [<ffffffff81054ae0>] ? flush_delayed_work+0x40/0x40 [ 7670.241582] [<ffffffff810599a3>] ? kthread+0xb3/0xc0 [ 7670.241591] [<ffffffff810598f0>] ? kthread_create_on_node+0x110/0x110 [ 7670.241601] [<ffffffff8140616c>] ? ret_from_fork+0x7c/0xb0 [ 7670.241609] [<ffffffff810598f0>] ? kthread_create_on_node+0x110/0x110
I added a fix recently to prevent a similar lockup but I missed the case where snd_hda_suspend is called from azx_reset_bus in turn called from snd_hda_suspend.
I'm torn between fixing this lockup and just avoiding this recursive call. Without the lockup, what state do we leave the codec in when this happens?
Am I understanding the scenario below correctly?
- do first half of suspend
- verb exec error --> reset
--- suspend --- resume (and queue work to suspend later
- second half of suspend (Is this OK?)
Maybe a state machine of some sort could be added to manage the power state. It could notice the error and restart the suspend from the beginning. That way the codec suspend function is called again and a complete transition to suspended is performed.
Takashi, do you see a simple way of handling this?
I think we can ignore errors during suspend in general. It's not too critical in comparison with resume, and usually the suspend callback is only for improving the pop noise or such.
So, for this particular issue (at least the recursive suspend call), I think the easiest way is a patch like below. This is no ideal solution but would be good enough as a bandaid at this late stage for 3.7. Julian, could you check whether this works?
But, as long as I look at the code, it seems that currently we have no good protection against the suspend call during the power-saving suspend is being called. This should be fixed, but maybe we can do it for 3.8. A state machine can be a good implementation for improving these messes, yes.
thanks,
Takashi
--- diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index cd2dbaf..96003f5 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -498,6 +498,7 @@ struct azx { unsigned int snoop:1; unsigned int align_buffer_size:1; unsigned int region_requested:1; + unsigned int in_pm:1; /* during suspend/resume operation? */
/* VGA-switcheroo setup */ unsigned int use_vga_switcheroo:1; @@ -1571,7 +1572,7 @@ static void azx_bus_reset(struct hda_bus *bus) azx_stop_chip(chip); azx_init_chip(chip, 1); #ifdef CONFIG_PM - if (chip->initialized) { + if (chip->initialized && !chip->in_pm) { struct azx_pcm *p; list_for_each_entry(p, &chip->pcm_list, list) snd_pcm_suspend_all(p->pcm); @@ -2495,6 +2496,7 @@ static int azx_suspend(struct device *dev)
snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); azx_clear_irq_pending(chip); + chip->in_pm = 1; /* flag up to suppress bus_reset */ list_for_each_entry(p, &chip->pcm_list, list) snd_pcm_suspend_all(p->pcm); if (chip->initialized) @@ -2537,6 +2539,7 @@ static int azx_resume(struct device *dev) azx_init_chip(chip, 1);
snd_hda_resume(chip->bus); + chip->in_pm = 0; snd_power_change_state(card, SNDRV_CTL_POWER_D0); return 0; }
I have an Thinkpad X121e with the following soundcard: 00:01.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI Wrestler HDMI Audio [Radeon HD 6250/6310] [1002:1314]
Of course I did not mean the hdmi device but this one, sorry: 00:14.2 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) [1002:4383] (rev 40)
So, for this particular issue (at least the recursive suspend call), I think the easiest way is a patch like below. This is no ideal solution but would be good enough as a bandaid at this late stage for 3.7. Julian, could you check whether this works?
Sadly the patch does not work, I still get the spurious responses and a trace, which looked minimaly different this time: [ 240.434881] INFO: task kworker/u:14:3617 blocked for more than 120 seconds. [ 240.434894] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 240.434901] kworker/u:14 D ffff88011ed128c0 0 3617 2 0x00000000 [ 240.434918] ffff880106272cd0 0000000000000046 0000000000000086 ffff88011a6e7950 [ 240.434931] ffff8801178f7fd8 ffff8801178f7fd8 ffff8801178f7fd8 ffff880106272cd0 [ 240.434944] 0000000000000003 ffff8801178f7c20 ffff8801178f7c18 ffff880106272cd0 [ 240.434957] Call Trace: [ 240.434978] [<ffffffff81403342>] ? schedule_timeout+0x1e2/0x2a0 [ 240.434992] [<ffffffff8106c32d>] ? select_task_rq_fair+0x53d/0x5d0 [ 240.435004] [<ffffffff814049c2>] ? wait_for_common+0xd2/0x180 [ 240.435017] [<ffffffff810693f0>] ? try_to_wake_up+0x270/0x270 [ 240.435030] [<ffffffff81052911>] ? flush_work+0xe1/0x160 [ 240.435041] [<ffffffff81051c10>] ? gcwq_release_assoc_and_unlock+0x40/0x40 [ 240.435052] [<ffffffff8105369d>] ? __cancel_work_timer+0x5d/0xa0 [ 240.435093] [<ffffffffa0208f5c>] ? hda_call_codec_suspend+0x14c/0x160 [snd_hda_codec] [ 240.435114] [<ffffffffa0208fb0>] ? snd_hda_suspend+0x40/0x60 [snd_hda_codec] [ 240.435131] [<ffffffffa01e06cb>] ? azx_bus_reset+0xab/0xc0 [snd_hda_intel] [ 240.435152] [<ffffffffa0207e55>] ? codec_exec_verb+0x185/0x1c0 [snd_hda_codec] [ 240.435173] [<ffffffffa0207ee8>] ? snd_hda_codec_read+0x58/0x90 [snd_hda_codec] [ 240.435193] [<ffffffffa0208b68>] ? snd_hda_shutup_pins+0x58/0x70 [snd_hda_codec] [ 240.435210] [<ffffffffa033e369>] ? conexant_suspend+0x9/0x10 [snd_hda_codec_conexant] [ 240.435229] [<ffffffffa0208e2e>] ? hda_call_codec_suspend+0x1e/0x160 [snd_hda_codec] [ 240.435249] [<ffffffffa0209048>] ? hda_power_work+0x78/0xc0 [snd_hda_codec] [ 240.435260] [<ffffffff81052f06>] ? process_one_work+0x126/0x490 [ 240.435280] [<ffffffffa0208fd0>] ? snd_hda_suspend+0x60/0x60 [snd_hda_codec] [ 240.435291] [<ffffffff81054c3d>] ? worker_thread+0x15d/0x450 [ 240.435302] [<ffffffff81054ae0>] ? flush_delayed_work+0x40/0x40 [ 240.435313] [<ffffffff810599a3>] ? kthread+0xb3/0xc0 [ 240.435323] [<ffffffff810598f0>] ? kthread_create_on_node+0x110/0x110 [ 240.435335] [<ffffffff814061ac>] ? ret_from_fork+0x7c/0xb0 [ 240.435345] [<ffffffff810598f0>] ? kthread_create_on_node+0x110/0x110
By the way, it seems like I get the traces every 120 seconds and not only once, forgot to mention that earlier.
With best regards, Julian
Am Mon, 19 Nov 2012 11:56:32 +0100 schrieb Julian Wollrath jwollrath@web.de:
I have an Thinkpad X121e with the following soundcard: 00:01.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI Wrestler HDMI Audio [Radeon HD 6250/6310] [1002:1314]
Of course I did not mean the hdmi device but this one, sorry: 00:14.2 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) [1002:4383] (rev 40)
So, for this particular issue (at least the recursive suspend call), I think the easiest way is a patch like below. This is no ideal solution but would be good enough as a bandaid at this late stage for 3.7. Julian, could you check whether this works?
Sadly the patch does not work, I still get the spurious responses and a trace, which looked minimaly different this time: [ 240.434881] INFO: task kworker/u:14:3617 blocked for more than 120 seconds. [ 240.434894] "echo 0
/proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 240.434901] kworker/u:14 D ffff88011ed128c0 0 3617 2 0x00000000
[ 240.434918] ffff880106272cd0 0000000000000046 0000000000000086 ffff88011a6e7950 [ 240.434931] ffff8801178f7fd8 ffff8801178f7fd8 ffff8801178f7fd8 ffff880106272cd0 [ 240.434944] 0000000000000003 ffff8801178f7c20 ffff8801178f7c18 ffff880106272cd0 [ 240.434957] Call Trace: [ 240.434978] [<ffffffff81403342>] ? schedule_timeout+0x1e2/0x2a0 [ 240.434992] [<ffffffff8106c32d>] ? select_task_rq_fair+0x53d/0x5d0 [ 240.435004] [<ffffffff814049c2>] ? wait_for_common+0xd2/0x180 [ 240.435017] [<ffffffff810693f0>] ? try_to_wake_up+0x270/0x270 [ 240.435030] [<ffffffff81052911>] ? flush_work+0xe1/0x160 [ 240.435041] [<ffffffff81051c10>] ? gcwq_release_assoc_and_unlock+0x40/0x40 [ 240.435052] [<ffffffff8105369d>] ? __cancel_work_timer+0x5d/0xa0 [ 240.435093] [<ffffffffa0208f5c>] ? hda_call_codec_suspend+0x14c/0x160 [snd_hda_codec] [ 240.435114] [<ffffffffa0208fb0>] ? snd_hda_suspend+0x40/0x60 [snd_hda_codec] [ 240.435131] [<ffffffffa01e06cb>] ? azx_bus_reset+0xab/0xc0 [snd_hda_intel] [ 240.435152] [<ffffffffa0207e55>] ? codec_exec_verb+0x185/0x1c0 [snd_hda_codec] [ 240.435173] [<ffffffffa0207ee8>] ? snd_hda_codec_read+0x58/0x90 [snd_hda_codec] [ 240.435193] [<ffffffffa0208b68>] ? snd_hda_shutup_pins+0x58/0x70 [snd_hda_codec] [ 240.435210] [<ffffffffa033e369>] ? conexant_suspend+0x9/0x10 [snd_hda_codec_conexant] [ 240.435229] [<ffffffffa0208e2e>] ? hda_call_codec_suspend+0x1e/0x160 [snd_hda_codec] [ 240.435249] [<ffffffffa0209048>] ? hda_power_work+0x78/0xc0 [snd_hda_codec] [ 240.435260] [<ffffffff81052f06>] ? process_one_work+0x126/0x490 [ 240.435280] [<ffffffffa0208fd0>] ? snd_hda_suspend+0x60/0x60 [snd_hda_codec] [ 240.435291] [<ffffffff81054c3d>] ? worker_thread+0x15d/0x450 [ 240.435302] [<ffffffff81054ae0>] ? flush_delayed_work+0x40/0x40 [ 240.435313] [<ffffffff810599a3>] ? kthread+0xb3/0xc0 [ 240.435323] [<ffffffff810598f0>] ? kthread_create_on_node+0x110/0x110 [ 240.435335] [<ffffffff814061ac>] ? ret_from_fork+0x7c/0xb0 [ 240.435345] [<ffffffff810598f0>] ? kthread_create_on_node+0x110/0x110
By the way, it seems like I get the traces every 120 seconds and not only once, forgot to mention that earlier.
Just one more little piece of information: After the 10th of the above mentioned traces I found the following in my dmesg output: [ 1378.403822] azx_single_send_cmd: 219 callbacks suppressed
With best regards, Julian
At Mon, 19 Nov 2012 11:56:32 +0100, Julian Wollrath wrote:
I have an Thinkpad X121e with the following soundcard: 00:01.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI Wrestler HDMI Audio [Radeon HD 6250/6310] [1002:1314]
Of course I did not mean the hdmi device but this one, sorry: 00:14.2 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) [1002:4383] (rev 40)
So, for this particular issue (at least the recursive suspend call), I think the easiest way is a patch like below. This is no ideal solution but would be good enough as a bandaid at this late stage for 3.7. Julian, could you check whether this works?
Sadly the patch does not work, I still get the spurious responses
Note that spurious responses won't be fixed by this patch at all. It's a different problem from the hung. The patch tried only avoiding the recursive suspend call.
and a trace, which looked minimaly different this time: [ 240.434881] INFO: task kworker/u:14:3617 blocked for more than 120 seconds. [ 240.434894] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 240.434901] kworker/u:14 D ffff88011ed128c0 0 3617 2 0x00000000 [ 240.434918] ffff880106272cd0 0000000000000046 0000000000000086 ffff88011a6e7950 [ 240.434931] ffff8801178f7fd8 ffff8801178f7fd8 ffff8801178f7fd8 ffff880106272cd0 [ 240.434944] 0000000000000003 ffff8801178f7c20 ffff8801178f7c18 ffff880106272cd0 [ 240.434957] Call Trace: [ 240.434978] [<ffffffff81403342>] ? schedule_timeout+0x1e2/0x2a0 [ 240.434992] [<ffffffff8106c32d>] ? select_task_rq_fair+0x53d/0x5d0 [ 240.435004] [<ffffffff814049c2>] ? wait_for_common+0xd2/0x180 [ 240.435017] [<ffffffff810693f0>] ? try_to_wake_up+0x270/0x270 [ 240.435030] [<ffffffff81052911>] ? flush_work+0xe1/0x160 [ 240.435041] [<ffffffff81051c10>] ? gcwq_release_assoc_and_unlock+0x40/0x40 [ 240.435052] [<ffffffff8105369d>] ? __cancel_work_timer+0x5d/0xa0 [ 240.435093] [<ffffffffa0208f5c>] ? hda_call_codec_suspend+0x14c/0x160 [snd_hda_codec] [ 240.435114] [<ffffffffa0208fb0>] ? snd_hda_suspend+0x40/0x60 [snd_hda_codec] [ 240.435131] [<ffffffffa01e06cb>] ? azx_bus_reset+0xab/0xc0 [snd_hda_intel] [ 240.435152] [<ffffffffa0207e55>] ? codec_exec_verb+0x185/0x1c0 [snd_hda_codec] [ 240.435173] [<ffffffffa0207ee8>] ? snd_hda_codec_read+0x58/0x90 [snd_hda_codec] [ 240.435193] [<ffffffffa0208b68>] ? snd_hda_shutup_pins+0x58/0x70 [snd_hda_codec] [ 240.435210] [<ffffffffa033e369>] ? conexant_suspend+0x9/0x10 [snd_hda_codec_conexant] [ 240.435229] [<ffffffffa0208e2e>] ? hda_call_codec_suspend+0x1e/0x160 [snd_hda_codec] [ 240.435249] [<ffffffffa0209048>] ? hda_power_work+0x78/0xc0 [snd_hda_codec] [ 240.435260] [<ffffffff81052f06>] ? process_one_work+0x126/0x490 [ 240.435280] [<ffffffffa0208fd0>] ? snd_hda_suspend+0x60/0x60 [snd_hda_codec] [ 240.435291] [<ffffffff81054c3d>] ? worker_thread+0x15d/0x450 [ 240.435302] [<ffffffff81054ae0>] ? flush_delayed_work+0x40/0x40 [ 240.435313] [<ffffffff810599a3>] ? kthread+0xb3/0xc0 [ 240.435323] [<ffffffff810598f0>] ? kthread_create_on_node+0x110/0x110 [ 240.435335] [<ffffffff814061ac>] ? ret_from_fork+0x7c/0xb0 [ 240.435345] [<ffffffff810598f0>] ? kthread_create_on_node+0x110/0x110
OK, then this code path is irrelevant with the real suspend/resume, but it's in a normal power-saving path.
Could you try the patch below instead?
By the way, it seems like I get the traces every 120 seconds and not only once, forgot to mention that earlier.
The spurious call (or no proper reply for the verb) indicates that either the HD-audio controller or the HD-audio codec stalls. Is yours a machine with a discrete GPU? If so, and if you are using vga-switcheroo or anything manipulating the D-GPU, it's possibly the cause of the stall.
thanks,
Takashi
--- diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index a8e7b00..d9fd439 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c @@ -228,7 +228,7 @@ static int codec_exec_verb(struct hda_codec *codec, unsigned int cmd, } mutex_unlock(&bus->cmd_mutex); snd_hda_power_down(codec); - if (res && *res == -1 && bus->rirb_error) { + if (!codec->in_pm && res && *res == -1 && bus->rirb_error) { if (bus->response_reset) { snd_printd("hda_codec: resetting BUS due to " "fatal communication error\n"); @@ -238,7 +238,7 @@ static int codec_exec_verb(struct hda_codec *codec, unsigned int cmd, goto again; } /* clear reset-flag when the communication gets recovered */ - if (!err) + if (!err || codec->in_pm) bus->response_reset = 0; return err; } @@ -3655,6 +3655,8 @@ static unsigned int hda_call_codec_suspend(struct hda_codec *codec, bool in_wq) { unsigned int state;
+ codec->in_pm = 1; + if (codec->patch_ops.suspend) codec->patch_ops.suspend(codec); hda_cleanup_all_streams(codec); @@ -3669,6 +3671,7 @@ static unsigned int hda_call_codec_suspend(struct hda_codec *codec, bool in_wq) codec->power_transition = 0; codec->power_jiffies = jiffies; spin_unlock(&codec->power_lock); + codec->in_pm = 0; return state; }
@@ -3677,6 +3680,8 @@ static unsigned int hda_call_codec_suspend(struct hda_codec *codec, bool in_wq) */ static void hda_call_codec_resume(struct hda_codec *codec) { + codec->in_pm = 1; + /* set as if powered on for avoiding re-entering the resume * in the resume / power-save sequence */ @@ -3700,6 +3705,8 @@ static void hda_call_codec_resume(struct hda_codec *codec) snd_hda_jack_set_dirty_all(codec); snd_hda_jack_report_sync(codec); } + + codec->in_pm = 0; snd_hda_power_down(codec); /* flag down before returning */ } #endif /* CONFIG_PM */ diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h index baad7bf..8665540 100644 --- a/sound/pci/hda/hda_codec.h +++ b/sound/pci/hda/hda_codec.h @@ -871,6 +871,7 @@ struct hda_codec { unsigned int power_on :1; /* current (global) power-state */ unsigned int d3_stop_clk:1; /* support D3 operation without BCLK */ unsigned int pm_down_notified:1; /* PM notified to controller */ + unsigned int in_pm:1; /* suspend/resume being performed */ int power_transition; /* power-state in transition */ int power_count; /* current (global) power refcount */ struct delayed_work power_work; /* delayed task for powerdown */
Could you try the patch below instead?
The patch did not apply against 3.7-rc6 but the patch below applied and let the trace disappear.
By the way, it seems like I get the traces every 120 seconds and not only once, forgot to mention that earlier.
The spurious call (or no proper reply for the verb) indicates that either the HD-audio controller or the HD-audio codec stalls. Is yours a machine with a discrete GPU? If so, and if you are using vga-switcheroo or anything manipulating the D-GPU, it's possibly the cause of the stall.
I just have an AMD-450 APU (an onboard GPU) with no vga-switcheroo or other things involved.
With best regards, Julian Wollrath
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index 70d4848..cebe2dfd 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c @@ -228,7 +228,7 @@ static int codec_exec_verb(struct hda_codec *codec, unsigned int cmd, } mutex_unlock(&bus->cmd_mutex); snd_hda_power_down(codec); - if (res && *res == -1 && bus->rirb_error) { + if (!codec->in_pm && res && *res == -1 && bus->rirb_error) { if (bus->response_reset) { snd_printd("hda_codec: resetting BUS due to " "fatal communication error\n"); @@ -238,7 +238,7 @@ static int codec_exec_verb(struct hda_codec *codec, unsigned int cmd, goto again; } /* clear reset-flag when the communication gets recovered */ - if (!err) + if (!err || codec->in_pm) bus->response_reset = 0; return err; } @@ -3616,6 +3616,8 @@ static unsigned int hda_call_codec_suspend(struct hda_codec *codec, bool in_wq) { unsigned int state;
+ codec->in_pm = 1; + if (codec->patch_ops.suspend) codec->patch_ops.suspend(codec); hda_cleanup_all_streams(codec); @@ -3630,6 +3632,7 @@ static unsigned int hda_call_codec_suspend(struct hda_codec *codec, bool in_wq) codec->power_transition = 0; codec->power_jiffies = jiffies; spin_unlock(&codec->power_lock); + codec->in_pm = 0; return state; }
@@ -3638,6 +3641,8 @@ static unsigned int hda_call_codec_suspend(struct hda_codec *codec, bool in_wq) */ static void hda_call_codec_resume(struct hda_codec *codec) { + codec->in_pm = 1; + /* set as if powered on for avoiding re-entering the resume * in the resume / power-save sequence */ @@ -3656,6 +3661,8 @@ static void hda_call_codec_resume(struct hda_codec *codec) snd_hda_codec_resume_cache(codec); } snd_hda_jack_report_sync(codec); + + codec->in_pm = 0; snd_hda_power_down(codec); /* flag down before returning */ } #endif /* CONFIG_PM */ diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h index 507fe8a..4f4e545 100644 --- a/sound/pci/hda/hda_codec.h +++ b/sound/pci/hda/hda_codec.h @@ -869,6 +869,7 @@ struct hda_codec { unsigned int power_on :1; /* current (global) power-state */ unsigned int d3_stop_clk:1; /* support D3 operation without BCLK */ unsigned int pm_down_notified:1; /* PM notified to controller */ + unsigned int in_pm:1; /* suspend/resume being performed */ int power_transition; /* power-state in transition */ int power_count; /* current (global) power refcount */ struct delayed_work power_work; /* delayed task for powerdown */
At Mon, 19 Nov 2012 13:15:04 +0100, Julian Wollrath wrote:
Could you try the patch below instead?
The patch did not apply against 3.7-rc6 but the patch below applied and let the trace disappear.
OK, then at least it can be added as a workaround.
But the spurious response still appears, right?
By the way, it seems like I get the traces every 120 seconds and not only once, forgot to mention that earlier.
The spurious call (or no proper reply for the verb) indicates that either the HD-audio controller or the HD-audio codec stalls. Is yours a machine with a discrete GPU? If so, and if you are using vga-switcheroo or anything manipulating the D-GPU, it's possibly the cause of the stall.
I just have an AMD-450 APU (an onboard GPU) with no vga-switcheroo or other things involved.
Hm, then something screwed up the communication...
At which moment do you see such a message? In other words, how to trigger the bug?
thanks,
Takashi
With best regards, Julian Wollrath
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index 70d4848..cebe2dfd 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c @@ -228,7 +228,7 @@ static int codec_exec_verb(struct hda_codec *codec, unsigned int cmd, } mutex_unlock(&bus->cmd_mutex); snd_hda_power_down(codec);
- if (res && *res == -1 && bus->rirb_error) {
- if (!codec->in_pm && res && *res == -1 && bus->rirb_error) { if (bus->response_reset) { snd_printd("hda_codec: resetting BUS due to " "fatal communication error\n");
@@ -238,7 +238,7 @@ static int codec_exec_verb(struct hda_codec *codec, unsigned int cmd, goto again; } /* clear reset-flag when the communication gets recovered */
- if (!err)
- if (!err || codec->in_pm) bus->response_reset = 0; return err;
} @@ -3616,6 +3616,8 @@ static unsigned int hda_call_codec_suspend(struct hda_codec *codec, bool in_wq) { unsigned int state;
- codec->in_pm = 1;
- if (codec->patch_ops.suspend) codec->patch_ops.suspend(codec); hda_cleanup_all_streams(codec);
@@ -3630,6 +3632,7 @@ static unsigned int hda_call_codec_suspend(struct hda_codec *codec, bool in_wq) codec->power_transition = 0; codec->power_jiffies = jiffies; spin_unlock(&codec->power_lock);
- codec->in_pm = 0; return state;
}
@@ -3638,6 +3641,8 @@ static unsigned int hda_call_codec_suspend(struct hda_codec *codec, bool in_wq) */ static void hda_call_codec_resume(struct hda_codec *codec) {
- codec->in_pm = 1;
- /* set as if powered on for avoiding re-entering the resume
*/
- in the resume / power-save sequence
@@ -3656,6 +3661,8 @@ static void hda_call_codec_resume(struct hda_codec *codec) snd_hda_codec_resume_cache(codec); } snd_hda_jack_report_sync(codec);
- codec->in_pm = 0; snd_hda_power_down(codec); /* flag down before returning */
} #endif /* CONFIG_PM */ diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h index 507fe8a..4f4e545 100644 --- a/sound/pci/hda/hda_codec.h +++ b/sound/pci/hda/hda_codec.h @@ -869,6 +869,7 @@ struct hda_codec { unsigned int power_on :1; /* current (global) power-state */ unsigned int d3_stop_clk:1; /* support D3 operation without BCLK */ unsigned int pm_down_notified:1; /* PM notified to controller */
- unsigned int in_pm:1; /* suspend/resume being performed */ int power_transition; /* power-state in transition */ int power_count; /* current (global) power refcount */ struct delayed_work power_work; /* delayed task for powerdown */
Could you try the patch below instead?
The patch did not apply against 3.7-rc6 but the patch below applied and let the trace disappear.
OK, then at least it can be added as a workaround.
But the spurious response still appears, right?
Yes, the spurious response still appears.
Hm, then something screwed up the communication...
At which moment do you see such a message? In other words, how to trigger the bug?
I suspend my system to ram or to disk. Then I resume it, everthing comes up again and then, aprrox 4s after the resume was initiated, the spurious response messages hit the dmesg for approx. 0.07s as you can see in my first message. Hopefully this answer the question.
With best regards, Julian
Hm, then something screwed up the communication...
At which moment do you see such a message? In other words, how to trigger the bug?
I suspend my system to ram or to disk. Then I resume it, everthing comes up again and then, aprrox 4s after the resume was initiated, the spurious response messages hit the dmesg for approx. 0.07s as you can see in my first message. Hopefully this answer the question.
Hm, just got some messages, which did not appear before: [ 244.497999] snd_hda_intel 0000:00:14.2: wake-up capability disabled by ACPI [ 244.498063] snd_hda_intel 0000:00:14.2: enabling device (0000 -> 0002)
lspci -nn output: 00:00.0 Host bridge [0600]: Advanced Micro Devices [AMD] Family 14h Processor Root Complex [1022:1510] 00:01.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Wrestler [Radeon HD 6320] [1002:9806] 00:01.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI Wrestler HDMI Audio [Radeon HD 6250/6310] [1002:1314] 00:05.0 PCI bridge [0604]: Advanced Micro Devices [AMD] Family 14h Processor Root Port [1022:1513] 00:06.0 PCI bridge [0604]: Advanced Micro Devices [AMD] Family 14h Processor Root Port [1022:1514] 00:07.0 PCI bridge [0604]: Advanced Micro Devices [AMD] Family 14h Processor Root Port [1022:1515] 00:11.0 SATA controller [0106]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] [1002:4391] 00:12.0 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller [1002:4397] 00:12.2 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396] 00:13.0 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller [1002:4397] 00:13.2 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396] 00:14.0 SMBus [0c05]: Advanced Micro Devices [AMD] nee ATI SBx00 SMBus Controller [1002:4385] (rev 42) 00:14.2 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) [1002:4383] (rev 40) 00:14.3 ISA bridge [0601]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 LPC host controller [1002:439d] (rev 40) 00:14.4 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI SBx00 PCI to PCI Bridge [1002:4384] (rev 40) 00:18.0 Host bridge [0600]: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 0 [1022:1700] (rev 43) 00:18.1 Host bridge [0600]: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 1 [1022:1701] 00:18.2 Host bridge [0600]: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 2 [1022:1702] 00:18.3 Host bridge [0600]: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 3 [1022:1703] 00:18.4 Host bridge [0600]: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 4 [1022:1704] 00:18.5 Host bridge [0600]: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 6 [1022:1718] 00:18.6 Host bridge [0600]: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 5 [1022:1716] 00:18.7 Host bridge [0600]: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 7 [1022:1719] 01:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter [10ec:8176] (rev 01) 02:00.0 Ethernet controller [0200]: Atheros Communications Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) 03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader [10ec:5209] (rev 01)
dmesg output from the resume: [ 244.337608] pciehp 0000:00:07.0:pcie04: pciehp_suspend ENTRY [ 244.337745] PM: suspend of devices complete after 1020.300 msecs [ 244.338027] PM: late suspend of devices complete after 0.275 msecs [ 244.349960] PM: noirq suspend of devices complete after 11.943 msecs [ 244.350021] ACPI: Preparing to enter system sleep state S3 [ 244.364595] PM: Saving platform NVS memory [ 244.372195] Disabling non-boot CPUs ... [ 244.373765] smpboot: CPU 1 is now offline [ 244.375157] ACPI: Low-level resume complete [ 244.375255] PM: Restoring platform NVS memory [ 244.382089] microcode: CPU0: new patch_level=0x0500010d [ 244.382157] Enabling non-boot CPUs ... [ 244.382356] smpboot: Booting Node 0 Processor 1 APIC 0x1 [ 244.393455] LVT offset 0 assigned for vector 0x400 [ 244.401990] microcode: CPU1: new patch_level=0x0500010d [ 244.402134] CPU1 is up [ 244.402701] ACPI: Waking up from system sleep state S3 [ 244.497181] PM: noirq resume of devices complete after 55.142 msecs [ 244.497395] PM: early resume of devices complete after 0.124 msecs [ 244.497661] snd_hda_intel 0000:00:01.1: irq 43 for MSI/MSI-X [ 244.497830] pciehp 0000:00:07.0:pcie04: pciehp_resume ENTRY [ 244.497999] snd_hda_intel 0000:00:14.2: wake-up capability disabled by ACPI [ 244.498063] snd_hda_intel 0000:00:14.2: enabling device (0000 -> 0002) [ 244.521449] atl1c 0000:02:00.0: irq 45 for MSI/MSI-X [ 244.598573] pciehp 0000:00:07.0:pcie04: Device 0000:03:00.0 already exists at 0000:03:00, cannot hot-add [ 244.598587] pciehp 0000:00:07.0:pcie04: Cannot add device at 0000:03:00 [ 244.598689] rts_pstor 0000:03:00.0: rtsx_acquire_irq: chip->msi_en = 0, pci->irq = 19 [ 245.003310] irq 16: nobody cared (try booting with the "irqpoll" option) [ 245.003318] Pid: 691, comm: kworker/u:3 Tainted: G C 3.7.0-rc6-wl+ #3 [ 245.003321] Call Trace: [ 245.003342] <IRQ> [<ffffffff810a3c86>] ? __report_bad_irq+0x36/0xd0 [ 245.003350] [<ffffffff810a3f8d>] ? note_interrupt+0x1cd/0x220 [ 245.003359] [<ffffffff810a19ae>] ? handle_irq_event_percpu+0x8e/0x1c0 [ 245.003367] [<ffffffff81040415>] ? __do_softirq+0x105/0x1e0 [ 245.003374] [<ffffffff810a1b16>] ? handle_irq_event+0x36/0x60 [ 245.003383] [<ffffffff810a49ac>] ? handle_fasteoi_irq+0x4c/0xe0 [ 245.003390] [<ffffffff810045c5>] ? handle_irq+0x15/0x20 [ 245.003396] [<ffffffff810042b2>] ? do_IRQ+0x52/0xd0 [ 245.003404] [<ffffffff81405b2a>] ? common_interrupt+0x6a/0x6a [ 245.003430] <EOI> [<ffffffffa0349380>] ? ttm_bo_move_memcpy+0x3a0/0x4e0 [ttm] [ 245.003443] [<ffffffffa03492e4>] ? ttm_bo_move_memcpy+0x304/0x4e0 [ttm] [ 245.003457] [<ffffffffa0346c24>] ? ttm_bo_handle_move_mem+0x234/0x3e0 [ttm] [ 245.003469] [<ffffffffa0347910>] ? ttm_bo_mem_space+0x170/0x350 [ttm] [ 245.003503] [<ffffffffa047f200>] ? atom_execute_table_locked+0x70/0x2d0 [radeon] [ 245.003516] [<ffffffffa0347c3f>] ? ttm_bo_move_buffer+0x14f/0x160 [ttm] [ 245.003528] [<ffffffffa0347ce5>] ? ttm_bo_validate+0x95/0x120 [ttm] [ 245.003559] [<ffffffffa0484bbc>] ? radeon_bo_pin_restricted+0x10c/0x1b0 [radeon] [ 245.003590] [<ffffffffa0485a43>] ? radeon_gart_table_vram_pin+0x33/0xb0 [radeon] [ 245.003619] [<ffffffffa0481835>] ? atom_execute_table+0x55/0x70 [radeon] [ 245.003649] [<ffffffffa04c8c86>] ? evergreen_startup+0x386/0x1610 [radeon] [ 245.003677] [<ffffffffa0481c05>] ? atom_asic_init+0x145/0x1a0 [radeon] [ 245.003706] [<ffffffffa04ca1d2>] ? evergreen_resume+0x32/0x80 [radeon] [ 245.003730] [<ffffffffa046e118>] ? radeon_resume_kms+0x68/0x190 [radeon] [ 245.003737] [<ffffffff81254190>] ? pci_pm_restore+0xe0/0xe0 [ 245.003745] [<ffffffff812e4314>] ? dpm_run_callback.isra.5+0x14/0x40 [ 245.003752] [<ffffffff812e4844>] ? device_resume+0xb4/0x140 [ 245.003759] [<ffffffff812e48e4>] ? async_resume+0x14/0x40 [ 245.003767] [<ffffffff81060666>] ? async_run_entry_fn+0x86/0x1b0 [ 245.003775] [<ffffffff81052f06>] ? process_one_work+0x126/0x490 [ 245.003782] [<ffffffff810605e0>] ? async_unregister_domain+0x70/0x70 [ 245.003788] [<ffffffff81054c3d>] ? worker_thread+0x15d/0x450 [ 245.003795] [<ffffffff81054ae0>] ? flush_delayed_work+0x40/0x40 [ 245.003801] [<ffffffff810599a3>] ? kthread+0xb3/0xc0 [ 245.003807] [<ffffffff810598f0>] ? kthread_create_on_node+0x110/0x110 [ 245.003814] [<ffffffff814061ac>] ? ret_from_fork+0x7c/0xb0 [ 245.003820] [<ffffffff810598f0>] ? kthread_create_on_node+0x110/0x110 [ 245.003823] handlers: [ 245.003838] [<ffffffffa0267050>] azx_interrupt [snd_hda_intel] [ 245.003841] Disabling IRQ #16 [ 245.011208] [drm] PCIE GART of 512M enabled (table at 0x0000000000040000). [ 245.011501] radeon 0000:00:01.0: WB enabled [ 245.011511] radeon 0000:00:01.0: fence driver on ring 0 use gpu addr 0x0000000018000c00 and cpu addr 0xffff8801186d4c00 [ 245.028285] [drm] ring test on 0 succeeded in 1 usecs [ 245.028339] [drm] ib test on ring 0 succeeded in 0 usecs [ 247.044935] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) [ 247.194206] ata1.00: failed to get Identify Device Data, Emask 0x1 [ 247.198079] ata1.00: failed to get Identify Device Data, Emask 0x1 [ 247.198088] ata1.00: configured for UDMA/133 [ 247.198632] sd 0:0:0:0: [sda] Starting disk [ 247.244490] PM: resume of devices complete after 2752.559 msecs [ 247.245608] Restarting tasks ... done. [ 247.259222] video LNXVIDEO:01: Restoring backlight state [ 247.296953] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 247.297228] ehci_hcd 0000:00:12.2: EHCI Host Controller [ 247.297361] ehci_hcd 0000:00:12.2: new USB bus registered, assigned bus number 1 [ 247.297391] QUIRK: Enable AMD PLL fix [ 247.297400] ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround [ 247.297521] ehci_hcd 0000:00:12.2: debug port 1 [ 247.297565] ehci_hcd 0000:00:12.2: irq 17, io mem 0xf034a500 [ 247.303404] ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00 [ 247.303486] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [ 247.303496] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 247.303504] usb usb1: Product: EHCI Host Controller [ 247.303512] usb usb1: Manufacturer: Linux 3.7.0-rc6-wl+ ehci_hcd [ 247.303519] usb usb1: SerialNumber: 0000:00:12.2 [ 247.304278] hub 1-0:1.0: USB hub found [ 247.304302] hub 1-0:1.0: 5 ports detected [ 247.305508] ehci_hcd 0000:00:13.2: EHCI Host Controller [ 247.305541] ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus number 2 [ 247.305561] ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround [ 247.305679] ehci_hcd 0000:00:13.2: debug port 1 [ 247.305716] ehci_hcd 0000:00:13.2: irq 17, io mem 0xf034a400 [ 247.311179] ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00 [ 247.311296] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 [ 247.311306] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 247.311315] usb usb2: Product: EHCI Host Controller [ 247.311322] usb usb2: Manufacturer: Linux 3.7.0-rc6-wl+ ehci_hcd [ 247.311329] usb usb2: SerialNumber: 0000:00:13.2 [ 247.312127] hub 2-0:1.0: USB hub found [ 247.312146] hub 2-0:1.0: 5 ports detected [ 247.324229] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 247.324459] ohci_hcd 0000:00:12.0: OHCI Host Controller [ 247.324901] ohci_hcd 0000:00:12.0: new USB bus registered, assigned bus number 3 [ 247.324977] ohci_hcd 0000:00:12.0: irq 18, io mem 0xf0349000 [ 247.379687] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001 [ 247.379696] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 247.379700] usb usb3: Product: OHCI Host Controller [ 247.379704] usb usb3: Manufacturer: Linux 3.7.0-rc6-wl+ ohci_hcd [ 247.379708] usb usb3: SerialNumber: 0000:00:12.0 [ 247.380468] hub 3-0:1.0: USB hub found [ 247.380531] hub 3-0:1.0: 5 ports detected [ 247.384340] ohci_hcd 0000:00:13.0: OHCI Host Controller [ 247.384361] ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus number 4 [ 247.384451] ohci_hcd 0000:00:13.0: irq 18, io mem 0xf0348000 [ 247.439222] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001 [ 247.439237] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 247.439246] usb usb4: Product: OHCI Host Controller [ 247.439254] usb usb4: Manufacturer: Linux 3.7.0-rc6-wl+ ohci_hcd [ 247.439261] usb usb4: SerialNumber: 0000:00:13.0 [ 247.439775] hub 4-0:1.0: USB hub found [ 247.439793] hub 4-0:1.0: 5 ports detected [ 247.478458] rtl8192ce:_rtl92ce_read_chip_version():<0-0> Chip Version ID: B_CHIP_88C [ 247.488454] rtl8192ce: Using firmware rtlwifi/rtl8192cfw.bin [ 247.490288] ieee80211 phy2: Selected rate control algorithm 'rtl_rc' [ 247.492029] rtlwifi: wireless switch is on [ 247.510767] usbcore: registered new interface driver uvcvideo [ 247.510774] USB Video Class driver (1.1.1) [ 247.613565] usb 2-5: new high-speed USB device number 2 using ehci_hcd [ 247.734314] usb 2-5: New USB device found, idVendor=5986, idProduct=01a6 [ 247.734330] usb 2-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 247.734338] usb 2-5: Product: Integrated Camera [ 247.734346] usb 2-5: Manufacturer: Image Processor [ 247.734353] usb 2-5: SerialNumber: Integrated Camera [ 247.735749] uvcvideo: Found UVC 1.00 device Integrated Camera (5986:01a6) [ 247.853992] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 248.248264] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248279] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248285] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248290] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248296] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248301] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248306] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248310] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248315] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248320] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248325] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248329] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248334] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248339] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248344] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248349] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248353] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248358] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248363] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248368] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248372] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248377] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248382] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248387] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248391] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248396] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248401] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248406] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248410] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248415] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248420] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248425] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248429] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248434] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248439] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248444] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248448] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248453] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248458] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248463] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248468] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248472] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248477] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248482] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248487] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248491] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248496] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248501] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248506] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248510] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248515] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248520] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248525] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248529] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248534] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248539] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248544] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248549] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248553] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248558] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248563] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248568] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248572] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248577] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248582] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248587] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248591] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248596] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248601] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248606] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248611] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248615] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248620] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248625] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248630] hda-intel: spurious response 0x7fffffff:0x0, last cmd=0x1970700 [ 248.248635] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248639] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248644] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248649] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248654] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248658] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248663] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248668] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248673] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248677] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248682] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248687] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248692] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248697] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248701] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248706] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248711] hda-intel: spurious response 0x7fffffff:0x0, last cmd=0x1970700 [ 248.248716] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248721] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248725] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248730] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248735] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248740] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248744] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248749] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248754] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248759] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248763] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248768] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248773] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248778] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248783] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248787] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248792] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248797] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248802] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248806] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248811] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248816] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248821] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248826] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248830] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248835] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248840] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248845] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248849] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248854] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248859] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248864] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248868] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248873] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248878] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248883] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248887] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248892] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248897] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248902] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 248.248906] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248911] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 248.248916] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248921] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248925] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248930] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248935] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248940] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248945] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248949] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 248.248954] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248959] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248964] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248968] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248973] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248978] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248983] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248988] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248992] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.248997] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249002] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249007] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249011] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249016] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249021] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249026] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249030] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249035] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249040] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249045] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249049] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249054] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249059] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249064] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249068] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249073] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249078] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249083] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249087] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249092] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249097] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249102] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249106] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249111] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249116] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249121] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249126] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249131] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249136] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249141] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249146] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249150] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249155] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249160] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249165] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249169] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249174] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249179] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249184] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249188] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249193] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249198] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249203] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249207] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249212] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249217] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249222] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249226] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249231] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249236] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249241] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249245] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249250] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249255] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249259] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249264] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249269] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249274] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249278] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249283] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249288] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249293] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249297] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249302] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249307] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249312] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249317] hda-intel: spurious response 0x7fffffff:0x0, last cmd=0x1970700 [ 248.249321] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249326] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249331] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249336] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249340] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249345] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249350] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249355] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249360] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249365] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249369] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249374] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249379] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249384] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249388] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249393] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249398] hda-intel: spurious response 0x7fffffff:0x0, last cmd=0x1970700 [ 248.249403] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249408] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249412] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249417] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249422] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249427] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249431] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249436] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249441] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249446] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249451] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249456] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249460] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249465] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249470] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249475] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.249479] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 248.310253] psmouse serio4: synaptics: Touchpad model: 1, fw: 8.0, id: 0x1e2b1, caps: 0xd001a3/0x940300/0x123c00, board id: 1917, fw id: 864720 [ 248.310280] psmouse serio4: synaptics: serio: Synaptics pass-through port at isa0060/serio4/input0 [ 248.349885] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio4/input/input17 [ 248.420008] input: Integrated Camera as /devices/pci0000:00/0000:00:13.2/usb2/2-5/2-5:1.0/input/input18 [ 254.295195] psmouse serio7: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 3/3 [ 254.500060] input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio4/serio7/input/input19 [ 754.245525] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245539] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245546] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245551] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245556] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245562] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245566] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245571] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245576] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245581] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245586] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245590] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245595] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245600] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245605] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245610] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245614] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245619] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245624] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245629] hda-intel: spurious response 0x2:0x0, last cmd=0x1370a00 [ 754.245634] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245638] hda-intel: spurious response 0x2:0x0, last cmd=0x1370a00 [ 754.245643] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245648] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245653] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245657] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245662] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245667] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245672] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245677] hda-intel: spurious response 0x233:0x0, last cmd=0x1370a00 [ 754.245681] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245686] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245691] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245696] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245700] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245705] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245710] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245715] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245720] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245724] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245729] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245734] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245739] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245743] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245748] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245753] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245758] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245762] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245767] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245772] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245777] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245782] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245786] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245791] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245796] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245801] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245805] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245810] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245815] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245820] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245824] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245829] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245834] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245839] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245844] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245848] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245853] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245858] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245863] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245868] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245872] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245877] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245882] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245887] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245891] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245896] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245901] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245906] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245910] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245915] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245920] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245925] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245929] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245934] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245939] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245944] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245948] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245953] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245958] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245963] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245967] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245972] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245977] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245982] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245986] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245991] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.245996] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246001] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246006] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246010] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246015] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246020] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246025] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246029] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246034] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246039] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246044] hda-intel: spurious response 0x7fffffff:0x0, last cmd=0x1370a00 [ 754.246049] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246053] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246058] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246063] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246068] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246072] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246077] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246082] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246087] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246092] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246096] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246101] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246106] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246111] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246116] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246120] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246125] hda-intel: spurious response 0x7fffffff:0x0, last cmd=0x1370a00 [ 754.246130] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246135] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246140] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246144] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246149] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246154] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246159] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246163] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246168] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246173] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246178] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246182] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246187] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246192] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246197] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246201] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 754.246206] hda-intel: spurious response 0x0:0x0, last cmd=0x1370a00 [ 756.129634] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129649] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129655] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129660] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129665] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129671] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129676] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129680] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129685] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129690] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129695] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129700] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129704] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129709] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129714] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129719] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129723] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129728] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129733] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129738] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129742] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129747] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129752] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129757] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129761] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129766] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129771] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129776] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129781] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129785] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129790] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129795] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129800] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129804] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129809] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129814] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129819] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129824] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129828] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129833] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129838] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129843] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129847] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129852] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129857] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129862] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129867] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129871] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129876] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129881] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129886] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129890] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129895] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129900] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129905] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129909] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129914] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129919] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129924] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129928] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129933] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129938] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129943] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129947] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129952] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129957] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129962] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129966] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129971] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129976] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129981] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129985] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129990] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.129995] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130000] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130005] hda-intel: spurious response 0x7fffffff:0x0, last cmd=0x1970700 [ 756.130010] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130014] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130019] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130024] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130029] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130033] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130038] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130043] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130048] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130052] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130057] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130062] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130067] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130071] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130076] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130081] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130086] hda-intel: spurious response 0x7fffffff:0x0, last cmd=0x1970700 [ 756.130091] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130096] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130100] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130105] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130110] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130115] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130120] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130124] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130129] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130134] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130139] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130143] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130148] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130153] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130158] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130162] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130167] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130172] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130177] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130181] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130186] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130191] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130196] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130200] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130205] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130210] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130215] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130219] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130224] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130229] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130234] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130238] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130243] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130248] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130253] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130258] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130262] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130267] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130272] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130277] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 756.130281] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130286] hda-intel: spurious response 0x2:0x0, last cmd=0x1970700 [ 756.130291] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130296] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130300] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130305] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130310] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130315] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130319] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130324] hda-intel: spurious response 0x233:0x0, last cmd=0x1970700 [ 756.130329] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130334] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130339] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130343] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130348] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130353] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130358] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130363] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130368] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130372] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130377] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130382] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130387] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130391] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130396] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130401] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130406] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130411] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130415] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130420] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130425] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130430] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130434] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130439] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130444] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130449] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130453] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130458] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130463] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130468] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130473] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130477] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130482] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130487] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130492] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130496] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130501] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130506] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130511] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130515] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130520] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130525] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130530] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130535] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130539] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130544] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130549] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130554] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130558] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130563] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130568] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130573] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130577] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130582] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130587] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130592] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130596] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130601] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130606] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130611] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130616] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130620] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130625] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130630] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130635] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130640] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130644] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130649] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130654] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130659] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130663] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130668] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130673] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130678] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130682] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130687] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130692] hda-intel: spurious response 0x7fffffff:0x0, last cmd=0x1970700 [ 756.130697] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130702] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130707] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130711] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130716] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130721] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130726] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130730] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130735] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130740] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130745] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130750] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130754] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130759] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130764] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130769] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130774] hda-intel: spurious response 0x7fffffff:0x0, last cmd=0x1970700 [ 756.130778] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130783] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130788] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130793] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130797] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130802] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130807] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130812] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130817] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130821] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130826] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130831] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130836] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130840] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130845] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130850] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 756.130855] hda-intel: spurious response 0x0:0x0, last cmd=0x1970700 [ 757.131144] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x01a70700 [ 764.205783] azx_single_send_cmd: 992 callbacks suppressed [ 1203.317626] azx_single_send_cmd: 221 callbacks suppressed [ 1209.500319] azx_single_send_cmd: 456 callbacks suppressed
With best regards, Julian
At Mon, 19 Nov 2012 15:18:45 +0100, Julian Wollrath wrote:
Hm, then something screwed up the communication...
At which moment do you see such a message? In other words, how to trigger the bug?
I suspend my system to ram or to disk. Then I resume it, everthing comes up again and then, aprrox 4s after the resume was initiated, the spurious response messages hit the dmesg for approx. 0.07s as you can see in my first message. Hopefully this answer the question.
Hm, just got some messages, which did not appear before: [ 244.497999] snd_hda_intel 0000:00:14.2: wake-up capability disabled by ACPI [ 244.498063] snd_hda_intel 0000:00:14.2: enabling device (0000 -> 0002)
Do you have CONFIG_PM_RUNTIME=y? If yes, any difference when turn it off?
Also, apply the patch below so that we can see which device is actually stalling.
thanks,
Takashi
--- From: Takashi Iwai tiwai@suse.de Subject: [PATCH] ALSA: hda - Print PCI device name at "spurious message" warnings
... to make it clear to see from which device it comes.
Signed-off-by: Takashi Iwai tiwai@suse.de --- sound/pci/hda/hda_intel.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index d327ffa..b6ffdd8 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -832,8 +832,9 @@ static void azx_update_rirb(struct azx *chip) smp_wmb(); chip->rirb.cmds[addr]--; } else - snd_printk(KERN_ERR SFX "spurious response %#x:%#x, " + snd_printk(KERN_ERR SFX "%s: spurious response %#x:%#x, " "last cmd=%#08x\n", + pci_name(chip->pci), res, res_ex, chip->last_cmd[addr]); }
Do you have CONFIG_PM_RUNTIME=y? If yes, any difference when turn it off?
I have CONFIG_PM_RUNTIME=y, I will try it without it.
Also, apply the patch below so that we can see which device is actually stalling.
The stalling device is the following: [ 86.442978] hda-intel: 0000:00:14.2: spurious response 0x0:0x0, last cmd=0x1970700
00:14.2 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) [1002:4383] (rev 40)
With best regards, Julian
At Mon, 19 Nov 2012 17:09:00 +0100, Julian Wollrath wrote:
Do you have CONFIG_PM_RUNTIME=y? If yes, any difference when turn it off?
I have CONFIG_PM_RUNTIME=y, I will try it without it.
So, with CONFIG_PM_RUNTIME=n I get no spurious response messages.
OK, it's a good sign. What happens if you enable CONFIG_PM_RUNTIME again but set the option power_save_controller=0 for snd-hda-intel module?
Or, try the patch below.
There is one place left checking CONFIG_PM_RUNTIME in hda_intel.c, but I guess it's irrelevant. Let's see.
thanks,
Takashi
--- diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 2cc07c1..5327e4c 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -2690,7 +2690,7 @@ static int azx_runtime_resume(struct device *dev) #ifdef CONFIG_PM static const struct dev_pm_ops azx_pm = { SET_SYSTEM_SLEEP_PM_OPS(azx_suspend, azx_resume) - SET_RUNTIME_PM_OPS(azx_runtime_suspend, azx_runtime_resume, NULL) + // SET_RUNTIME_PM_OPS(azx_runtime_suspend, azx_runtime_resume, NULL) };
#define AZX_PM_OPS &azx_pm
So, with CONFIG_PM_RUNTIME=n I get no spurious response messages.
OK, it's a good sign. What happens if you enable CONFIG_PM_RUNTIME again but set the option power_save_controller=0 for snd-hda-intel module?
Or, try the patch below.
With the patch there are no spurious response messages anymore.
With best regards, Julian
At Mon, 19 Nov 2012 18:51:12 +0100, Julian Wollrath wrote:
So, with CONFIG_PM_RUNTIME=n I get no spurious response messages.
OK, it's a good sign. What happens if you enable CONFIG_PM_RUNTIME again but set the option power_save_controller=0 for snd-hda-intel module?
Or, try the patch below.
With the patch there are no spurious response messages anymore.
OK, then the approach isn't wrong.
Could you clear the patch and check whether power_save_controller=0 option also solves the issue?
thanks,
Takashi
At Mon, 19 Nov 2012 19:08:15 +0100, Takashi Iwai wrote:
At Mon, 19 Nov 2012 18:51:12 +0100, Julian Wollrath wrote:
So, with CONFIG_PM_RUNTIME=n I get no spurious response messages.
OK, it's a good sign. What happens if you enable CONFIG_PM_RUNTIME again but set the option power_save_controller=0 for snd-hda-intel module?
Or, try the patch below.
With the patch there are no spurious response messages anymore.
OK, then the approach isn't wrong.
Could you clear the patch and check whether power_save_controller=0 option also solves the issue?
If it works, the patch below should help. Give it a try.
thanks,
Takashi
--- From: Takashi Iwai tiwai@suse.de Subject: [PATCH] ALSA: hda - Limit runtime PM support only to known Intel chips
We've got a report that the runtime PM may make the codec the unresponsive on AMD platforms. Since the feature has been tested only on the recent Intel platforms, it's safer to limit the support to such devices for now.
This patch adds a new DCAPS bit flag indicating the runtime PM support, and mark it for Intel controllers.
Reported-by: Julian Wollrath jwollrath@web.de Signed-off-by: Takashi Iwai tiwai@suse.de --- sound/pci/hda/hda_intel.c | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index cd2dbaf..f9d870e 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -556,6 +556,12 @@ enum { #define AZX_DCAPS_ALIGN_BUFSIZE (1 << 22) /* buffer size alignment */ #define AZX_DCAPS_4K_BDLE_BOUNDARY (1 << 23) /* BDLE in 4k boundary */ #define AZX_DCAPS_COUNT_LPIB_DELAY (1 << 25) /* Take LPIB as delay */ +#define AZX_DCAPS_PM_RUNTIME (1 << 26) /* runtime PM support */ + +/* quirks for Intel PCH */ +#define AZX_DCAPS_INTEL_PCH \ + (AZX_DCAPS_SCH_SNOOP | AZX_DCAPS_BUFSIZE | \ + AZX_DCAPS_COUNT_LPIB_DELAY | AZX_DCAPS_PM_RUNTIME)
/* quirks for ATI SB / AMD Hudson */ #define AZX_DCAPS_PRESET_ATI_SB \ @@ -2433,6 +2439,9 @@ static void azx_power_notify(struct hda_bus *bus, bool power_up) { struct azx *chip = bus->private_data;
+ if (!(chip->driver_caps & AZX_DCAPS_PM_RUNTIME)) + return; + if (power_up) pm_runtime_get_sync(&chip->pci->dev); else @@ -2548,7 +2557,8 @@ static int azx_runtime_suspend(struct device *dev) struct snd_card *card = dev_get_drvdata(dev); struct azx *chip = card->private_data;
- if (!power_save_controller) + if (!power_save_controller || + !(chip->driver_caps & AZX_DCAPS_PM_RUNTIME)) return -EAGAIN;
azx_stop_chip(chip); @@ -3429,39 +3439,30 @@ static void __devexit azx_remove(struct pci_dev *pci) static DEFINE_PCI_DEVICE_TABLE(azx_ids) = { /* CPT */ { PCI_DEVICE(0x8086, 0x1c20), - .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP | - AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY }, + .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH }, /* PBG */ { PCI_DEVICE(0x8086, 0x1d20), - .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP | - AZX_DCAPS_BUFSIZE}, + .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH }, /* Panther Point */ { PCI_DEVICE(0x8086, 0x1e20), - .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP | - AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY }, + .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH }, /* Lynx Point */ { PCI_DEVICE(0x8086, 0x8c20), - .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP | - AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY }, + .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH }, /* Lynx Point-LP */ { PCI_DEVICE(0x8086, 0x9c20), - .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP | - AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY }, + .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH }, /* Lynx Point-LP */ { PCI_DEVICE(0x8086, 0x9c21), - .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP | - AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY }, + .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH }, /* Haswell */ { PCI_DEVICE(0x8086, 0x0c0c), - .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP | - AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY }, + .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH }, { PCI_DEVICE(0x8086, 0x0d0c), - .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP | - AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY }, + .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH }, /* 5 Series/3400 */ { PCI_DEVICE(0x8086, 0x3b56), - .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP | - AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY }, + .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH }, /* SCH */ { PCI_DEVICE(0x8086, 0x811b), .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP |
Could you clear the patch and check whether power_save_controller=0 option also solves the issue?
If it works, the patch below should help. Give it a try.
The patch below does help, the spurious responses do not show up anymore.
Thank you very much for your help and your quick response, with best regards, Julian
From: Takashi Iwai tiwai@suse.de Subject: [PATCH] ALSA: hda - Limit runtime PM support only to known Intel chips
We've got a report that the runtime PM may make the codec the unresponsive on AMD platforms. Since the feature has been tested only on the recent Intel platforms, it's safer to limit the support to such devices for now.
This patch adds a new DCAPS bit flag indicating the runtime PM support, and mark it for Intel controllers.
Reported-by: Julian Wollrath jwollrath@web.de Signed-off-by: Takashi Iwai tiwai@suse.de
Tested-by: Julian Wollrath jwollrath@web.de
sound/pci/hda/hda_intel.c | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index cd2dbaf..f9d870e 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -556,6 +556,12 @@ enum { #define AZX_DCAPS_ALIGN_BUFSIZE (1 << 22) /* buffer size alignment */ #define AZX_DCAPS_4K_BDLE_BOUNDARY (1 << 23) /* BDLE in 4k boundary */ #define AZX_DCAPS_COUNT_LPIB_DELAY (1 << 25) /* Take LPIB as delay */ +#define AZX_DCAPS_PM_RUNTIME (1 << 26) /* runtime PM support */ + +/* quirks for Intel PCH */ +#define AZX_DCAPS_INTEL_PCH \
- (AZX_DCAPS_SCH_SNOOP | AZX_DCAPS_BUFSIZE | \
AZX_DCAPS_COUNT_LPIB_DELAY | AZX_DCAPS_PM_RUNTIME)
/* quirks for ATI SB / AMD Hudson */ #define AZX_DCAPS_PRESET_ATI_SB \ @@ -2433,6 +2439,9 @@ static void azx_power_notify(struct hda_bus *bus, bool power_up) { struct azx *chip = bus->private_data;
- if (!(chip->driver_caps & AZX_DCAPS_PM_RUNTIME))
return;
- if (power_up) pm_runtime_get_sync(&chip->pci->dev); else
@@ -2548,7 +2557,8 @@ static int azx_runtime_suspend(struct device *dev) struct snd_card *card = dev_get_drvdata(dev); struct azx *chip = card->private_data;
- if (!power_save_controller)
if (!power_save_controller ||
!(chip->driver_caps & AZX_DCAPS_PM_RUNTIME))
return -EAGAIN;
azx_stop_chip(chip);
@@ -3429,39 +3439,30 @@ static void __devexit azx_remove(struct pci_dev *pci) static DEFINE_PCI_DEVICE_TABLE(azx_ids) = { /* CPT */ { PCI_DEVICE(0x8086, 0x1c20),
.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
/* PBG */ { PCI_DEVICE(0x8086, 0x1d20),.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE},
/* Panther Point */ { PCI_DEVICE(0x8086, 0x1e20),.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
/* Lynx Point */ { PCI_DEVICE(0x8086, 0x8c20),.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
/* Lynx Point-LP */ { PCI_DEVICE(0x8086, 0x9c20),.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
/* Lynx Point-LP */ { PCI_DEVICE(0x8086, 0x9c21),.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
/* Haswell */ { PCI_DEVICE(0x8086, 0x0c0c),.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
.driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
{ PCI_DEVICE(0x8086, 0x0d0c),.driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH },
.driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
/* 5 Series/3400 */ { PCI_DEVICE(0x8086, 0x3b56),.driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH },
.driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
/* SCH */ { PCI_DEVICE(0x8086, 0x811b), .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP |.driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH },
At Mon, 19 Nov 2012 20:25:13 +0100, Julian Wollrath wrote:
Could you clear the patch and check whether power_save_controller=0 option also solves the issue?
If it works, the patch below should help. Give it a try.
The patch below does help, the spurious responses do not show up anymore.
Great, now I merged both fix patches to sound git tree. They'll be included in the next pull request.
Thank you very much for your help and your quick response, with best
Thanks for your quick test!
Takashi
regards, Julian
From: Takashi Iwai tiwai@suse.de Subject: [PATCH] ALSA: hda - Limit runtime PM support only to known Intel chips
We've got a report that the runtime PM may make the codec the unresponsive on AMD platforms. Since the feature has been tested only on the recent Intel platforms, it's safer to limit the support to such devices for now.
This patch adds a new DCAPS bit flag indicating the runtime PM support, and mark it for Intel controllers.
Reported-by: Julian Wollrath jwollrath@web.de Signed-off-by: Takashi Iwai tiwai@suse.de
Tested-by: Julian Wollrath jwollrath@web.de
sound/pci/hda/hda_intel.c | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index cd2dbaf..f9d870e 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -556,6 +556,12 @@ enum { #define AZX_DCAPS_ALIGN_BUFSIZE (1 << 22) /* buffer size alignment */ #define AZX_DCAPS_4K_BDLE_BOUNDARY (1 << 23) /* BDLE in 4k boundary */ #define AZX_DCAPS_COUNT_LPIB_DELAY (1 << 25) /* Take LPIB as delay */ +#define AZX_DCAPS_PM_RUNTIME (1 << 26) /* runtime PM support */ + +/* quirks for Intel PCH */ +#define AZX_DCAPS_INTEL_PCH \
- (AZX_DCAPS_SCH_SNOOP | AZX_DCAPS_BUFSIZE | \
AZX_DCAPS_COUNT_LPIB_DELAY | AZX_DCAPS_PM_RUNTIME)
/* quirks for ATI SB / AMD Hudson */ #define AZX_DCAPS_PRESET_ATI_SB \ @@ -2433,6 +2439,9 @@ static void azx_power_notify(struct hda_bus *bus, bool power_up) { struct azx *chip = bus->private_data;
- if (!(chip->driver_caps & AZX_DCAPS_PM_RUNTIME))
return;
- if (power_up) pm_runtime_get_sync(&chip->pci->dev); else
@@ -2548,7 +2557,8 @@ static int azx_runtime_suspend(struct device *dev) struct snd_card *card = dev_get_drvdata(dev); struct azx *chip = card->private_data;
- if (!power_save_controller)
if (!power_save_controller ||
!(chip->driver_caps & AZX_DCAPS_PM_RUNTIME))
return -EAGAIN;
azx_stop_chip(chip);
@@ -3429,39 +3439,30 @@ static void __devexit azx_remove(struct pci_dev *pci) static DEFINE_PCI_DEVICE_TABLE(azx_ids) = { /* CPT */ { PCI_DEVICE(0x8086, 0x1c20),
.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
/* PBG */ { PCI_DEVICE(0x8086, 0x1d20),.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE},
/* Panther Point */ { PCI_DEVICE(0x8086, 0x1e20),.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
/* Lynx Point */ { PCI_DEVICE(0x8086, 0x8c20),.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
/* Lynx Point-LP */ { PCI_DEVICE(0x8086, 0x9c20),.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
/* Lynx Point-LP */ { PCI_DEVICE(0x8086, 0x9c21),.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
/* Haswell */ { PCI_DEVICE(0x8086, 0x0c0c),.driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
.driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
{ PCI_DEVICE(0x8086, 0x0d0c),.driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH },
.driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
/* 5 Series/3400 */ { PCI_DEVICE(0x8086, 0x3b56),.driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH },
.driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP |
AZX_DCAPS_BUFSIZE | AZX_DCAPS_COUNT_LPIB_DELAY },
/* SCH */ { PCI_DEVICE(0x8086, 0x811b), .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP |.driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH },
participants (3)
-
Dylan Reid
-
Julian Wollrath
-
Takashi Iwai