Page MenuHomeFreeBSD

sound: Busy the device in mixer_oss_mixerinfo()
Needs ReviewPublic

Authored by christos on Fri, Oct 9, 11:22 AM.
Tags
None
Referenced Files
F175436336: D60518.id189223.diff
Sat, Oct 10, 8:34 PM
F175410312: D60518.id189223.diff
Sat, Oct 10, 4:17 PM
F175352235: D60518.diff
Sat, Oct 10, 5:35 AM
Unknown Object (File)
Fri, Oct 9, 4:15 PM
Unknown Object (File)
Fri, Oct 9, 3:54 PM
Unknown Object (File)
Fri, Oct 9, 1:56 PM
Unknown Object (File)
Fri, Oct 9, 1:54 PM
Unknown Object (File)
Fri, Oct 9, 1:37 PM
Subscribers

Details

Reviewers
markj
emaste
kib
Summary

Rather than hold the topology lock across the whole handler, which
blocks detach of every device in the system, busy the one being selected
and used, and drop the topology lock, as the other SNDCTL_*INFO handlers
do.

The mutex now covers only the mixer fields. mixer->cdev is set once in
mixer_init() and never cleared, so reading does not need the lock.

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 77905
Build 74788: arc lint + arc unit