diff options
author | Greg Kroah-Hartman <[email protected]> | 2020-01-22 09:05:34 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <[email protected]> | 2020-01-22 09:05:34 +0100 |
commit | c318f074d9fdeae16e19cbb2ed53b50d2bcdfdb8 (patch) | |
tree | 44c6552fa919dfe1fc681949bf5d81fcf6a2beb8 /sound/core/seq/seq_timer.c | |
parent | 7b2d7faa09fcbd0184634544f732f4b2da0b20a8 (diff) | |
parent | def9d2780727cec3313ed3522d0123158d87224d (diff) |
Merge 5.5-rc7 into staging-next
We want the staging fixes in here as well
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'sound/core/seq/seq_timer.c')
-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); } } |