mirror of
https://github.com/torvalds/linux.git
synced 2026-09-19 09:08:02 +02:00
ctxfi stores the Line Capture Switch and Mic Capture Switch controls in a file-scope kctls[] array so do_line_mic_switch() can notify the opposite control when the shared line/mic input selection changes. That storage is shared by all ctxfi cards. If more than one X-Fi card is present, a later card can overwrite the pointers saved by an earlier one. A control update on one card can then use another card's kcontrol object for snd_ctl_notify(). If that other card is removed, the saved pointer can also become stale. Store those notification targets in struct ct_mixer instead. The mixer is per-card state and matches the lifetime of the controls created for that card. Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com> Link: https://patch.msgid.link/20260517-alsa-ctxfi-mixer-kctls-v1-1-6e4f81f6b658@gmail.com Signed-off-by: Takashi Iwai <tiwai@suse.de> |
||
|---|---|---|
| .. | ||
| ct20k1reg.h | ||
| ct20k2reg.h | ||
| ctamixer.c | ||
| ctamixer.h | ||
| ctatc.c | ||
| ctatc.h | ||
| ctdaio.c | ||
| ctdaio.h | ||
| cthardware.c | ||
| cthardware.h | ||
| cthw20k1.c | ||
| cthw20k1.h | ||
| cthw20k2.c | ||
| cthw20k2.h | ||
| ctimap.c | ||
| ctimap.h | ||
| ctmixer.c | ||
| ctmixer.h | ||
| ctpcm.c | ||
| ctpcm.h | ||
| ctresource.c | ||
| ctresource.h | ||
| ctsrc.c | ||
| ctsrc.h | ||
| cttimer.c | ||
| cttimer.h | ||
| ctvmem.c | ||
| ctvmem.h | ||
| Makefile | ||
| xfi.c | ||