diff options
author | Takashi Iwai <tiwai@suse.de> | 2020-01-20 13:44:35 +0300 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2020-01-20 13:44:51 +0300 |
commit | 9d0af44c2ed036c663832f3b764ffd1109c8b79e (patch) | |
tree | 629864b4ce2743873f672d2ca03c0e295fb98525 /sound/core | |
parent | 5af29028fd6db9438b5584ab7179710a0a22569d (diff) | |
parent | 4d024fe8f806e20e577cc934204c5784c7063293 (diff) | |
download | linux-9d0af44c2ed036c663832f3b764ffd1109c8b79e.tar.xz |
Merge branch 'for-linus' into for-next
Resolved the merge conflict in HD-audio Tegra driver.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core')
-rw-r--r-- | sound/core/seq/seq_timer.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/sound/core/seq/seq_timer.c b/sound/core/seq/seq_timer.c index 63dc7bdb622d..be59b59c9be4 100644 --- a/sound/core/seq/seq_timer.c +++ b/sound/core/seq/seq_timer.c @@ -471,15 +471,19 @@ void snd_seq_info_timer_read(struct snd_info_entry *entry, q = queueptr(idx); if (q == NULL) continue; - if ((tmr = q->timer) == NULL || - (ti = tmr->timeri) == NULL) { - queuefree(q); - continue; - } + mutex_lock(&q->timer_mutex); + tmr = q->timer; + if (!tmr) + goto unlock; + ti = tmr->timeri; + if (!ti) + goto unlock; snd_iprintf(buffer, "Timer for queue %i : %s\n", q->queue, ti->timer->name); resolution = snd_timer_resolution(ti) * tmr->ticks; snd_iprintf(buffer, " Period time : %lu.%09lu\n", resolution / 1000000000, resolution % 1000000000); snd_iprintf(buffer, " Skew : %u / %u\n", tmr->skew, tmr->skew_base); +unlock: + mutex_unlock(&q->timer_mutex); queuefree(q); } } |