From: Pavel Hofman <pavel.hofman@ivitera.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel <alsa-devel@alsa-project.org>
Subject: Re: ESI Juli@ crash with external clock switch - patch
Date: Sun, 11 Jan 2015 22:00:59 +0100 [thread overview]
Message-ID: <54B2E48B.7020000@ivitera.com> (raw)
In-Reply-To: <s5hegr12gxn.wl-tiwai@suse.de>
Dne 11.1.2015 v 21:36 Takashi Iwai napsal(a):
>
> OK, then this should be cancel_delayed_work_sync() instead, I suppose.
> The revised patch (also for ak4113.c) below.
I am afraid it is getting stuck in the same way - see the thread stack
below.
>
>>
>> I see, snd_ak4113_reinit of ak4113.c is never called, only
>> ak4113_init_regs. Perhaps Juli should not touch the workqueue in
>> ak4114_reinit and only initialize the regs in similar manner to ak4113?
>
> No, it's just quartet driver doesn't handle it properly :)
Why is actually the restart of the workqueue needed at reinit? The work
(snd_ak4114_check_rate_and_errors) only reads ak4114 regs to controls
(using i2c routine synchronized with mutexes) and handles the stream stop.
> It doesn't matter much because PM doesn't work with Quartet.
> But the juli.c also should be improved regarding PM. It should stop
> the workq at suspend. Also, it'd be preferable to have some control
> start/stop this background work, e.g. via a control element.
> Otherwise your machine will be constantly loaded unnecessarily.
I think we can extend the timer, perhaps to HZ/2 - the thread is just a
security measure anyway.
>
> I'll prepare a fix patch to these later.
Thanks a lot,
Pavel.
[11280.656021] INFO: task kworker/0:1:46 blocked for more than 120 seconds.
[11280.656027] Tainted: G OX 3.13.0-37-generic #64-Ubuntu
[11280.656028] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[11280.656031] kworker/0:1 D ffff88021fc14480 0 46 2
0x00000000
[11280.656041] Workqueue: events ak4114_stats [snd_ak4114]
[11280.656043] ffff880213c71b80 0000000000000046 ffff880213c69800
ffff880213c71fd8
[11280.656047] 0000000000014480 0000000000014480 ffff880213c69800
ffff880213c71cc0
[11280.656051] ffff880213c71cc8 7fffffffffffffff ffff880213c69800
ffff8801e206e968
[11280.656054] Call Trace:
[11280.656062] [<ffffffff81723129>] schedule+0x29/0x70
[11280.656065] [<ffffffff81722379>] schedule_timeout+0x239/0x2d0
[11280.656070] [<ffffffff810980f5>] ? check_preempt_curr+0x85/0xa0
[11280.656074] [<ffffffff81098129>] ? ttwu_do_wakeup+0x19/0xc0
[11280.656077] [<ffffffff8109827d>] ?
ttwu_do_activate.constprop.74+0x5d/0x70
[11280.656080] [<ffffffff81723c46>] wait_for_completion+0xa6/0x160
[11280.656084] [<ffffffff8109a8d0>] ? wake_up_state+0x20/0x20
[11280.656088] [<ffffffff81084b8d>] flush_work+0xed/0x1b0
[11280.656091] [<ffffffff81080e60>] ? wake_up_worker+0x30/0x30
[11280.656095] [<ffffffff81084cc5>] __cancel_work_timer+0x75/0xf0
[11280.656098] [<ffffffff81084d73>] cancel_delayed_work_sync+0x13/0x20
[11280.656102] [<ffffffffa03ca4e5>] snd_ak4114_reinit+0x25/0x60
[snd_ak4114]
[11280.656112] [<ffffffffa05e526a>] juli_akm_set_rate_val+0xca/0xf0
[snd_ice1724]
[11280.656119] [<ffffffffa05e52de>] juli_ak4114_change+0x4e/0x60
[snd_ice1724]
[11280.656123] [<ffffffffa03cab97>]
snd_ak4114_check_rate_and_errors+0x1f7/0x390 [snd_ak4114]
[11280.656127] [<ffffffffa03cad58>] ak4114_stats+0x28/0x50 [snd_ak4114]
[11280.656130] [<ffffffff810839c2>] process_one_work+0x182/0x450
[11280.656134] [<ffffffff810847b1>] worker_thread+0x121/0x410
[11280.656137] [<ffffffff81084690>] ? rescuer_thread+0x430/0x430
[11280.656140] [<ffffffff8108b492>] kthread+0xd2/0xf0
[11280.656144] [<ffffffff8108b3c0>] ? kthread_create_on_node+0x1c0/0x1c0
[11280.656147] [<ffffffff8172f77c>] ret_from_fork+0x7c/0xb0
[11280.656150] [<ffffffff8108b3c0>] ? kthread_create_on_node+0x1c0/0x1c0
[11280.656205] INFO: task pulseaudio:8418 blocked for more than 120 seconds.
[11280.656206] Tainted: G OX 3.13.0-37-generic #64-Ubuntu
[11280.656207] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[11280.656209] pulseaudio D ffff88021fc14480 0 8418 8416
0x00000000
[11280.656211] ffff8800bb903bd0 0000000000000082 ffff880210263000
ffff8800bb903fd8
[11280.656214] 0000000000014480 0000000000014480 ffff880210263000
ffff8800bb903d18
[11280.656216] ffff8800bb903d20 7fffffffffffffff ffff880210263000
ffff8801e206e968
[11280.656219] Call Trace:
[11280.656222] [<ffffffff81723129>] schedule+0x29/0x70
[11280.656224] [<ffffffff81722379>] schedule_timeout+0x239/0x2d0
[11280.656227] [<ffffffff81722cb1>] ? __schedule+0x381/0x7d0
[11280.656229] [<ffffffff81723c46>] wait_for_completion+0xa6/0x160
[11280.656232] [<ffffffff8109a8d0>] ? wake_up_state+0x20/0x20
[11280.656234] [<ffffffff81084b8d>] flush_work+0xed/0x1b0
[11280.656237] [<ffffffff81080e60>] ? wake_up_worker+0x30/0x30
[11280.656239] [<ffffffff81084cf2>] __cancel_work_timer+0xa2/0xf0
[11280.656242] [<ffffffff81084d73>] cancel_delayed_work_sync+0x13/0x20
[11280.656244] [<ffffffffa03ca4e5>] snd_ak4114_reinit+0x25/0x60
[snd_ak4114]
[11280.656250] [<ffffffffa05e526a>] juli_akm_set_rate_val+0xca/0xf0
[snd_ice1724]
[11280.656255] [<ffffffffa05da642>] snd_vt1724_set_pro_rate+0x122/0x220
[snd_ice1724]
[11280.656259] [<ffffffffa05da768>]
snd_vt1724_capture_pro_close+0x28/0x40 [snd_ice1724]
[11280.656271] [<ffffffffa038db0f>]
snd_pcm_release_substream.part.34+0x3f/0x90 [snd_pcm]
[11280.656275] [<ffffffffa038dc38>] snd_pcm_release+0xa8/0xd0 [snd_pcm]
[11280.656280] [<ffffffff811bed64>] __fput+0xe4/0x260
[11280.656282] [<ffffffff811bef2e>] ____fput+0xe/0x10
[11280.656285] [<ffffffff81088227>] task_work_run+0xa7/0xe0
[11280.656290] [<ffffffff81013df7>] do_notify_resume+0x97/0xb0
[11280.656292] [<ffffffff8172faea>] int_signal+0x12/0x17
next prev parent reply other threads:[~2015-01-11 21:01 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-11 13:58 ESI Juli@ crash with external clock switch - patch Pavel Hofman
2015-01-11 15:52 ` Takashi Iwai
2015-01-11 17:57 ` Pavel Hofman
2015-01-11 20:36 ` Takashi Iwai
2015-01-11 21:00 ` Pavel Hofman [this message]
2015-01-12 8:21 ` Takashi Iwai
2015-01-12 8:34 ` Pavel Hofman
2015-01-12 15:43 ` Takashi Iwai
2015-01-15 21:15 ` Pavel Hofman
2015-01-16 17:13 ` Takashi Iwai
2015-01-16 17:19 ` Takashi Iwai
2015-01-16 20:36 ` Pavel Hofman
2015-01-16 20:39 ` Takashi Iwai
2015-01-16 20:53 ` Pavel Hofman
2015-01-28 20:51 ` Pavel Hofman
2015-01-28 21:21 ` Takashi Iwai
2015-01-28 21:24 ` Pavel Hofman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54B2E48B.7020000@ivitera.com \
--to=pavel.hofman@ivitera.com \
--cc=alsa-devel@alsa-project.org \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.