Commit ed29e073 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: sb: Don't allow changing the DMA mode during operations

When a PCM stream is already running, one shouldn't change the DMA
mode via kcontrol, which may screw up the hardware.  Return -EBUSY
instead.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=218185
Link: https://patch.msgid.link/20250610064322.26787-1-tiwai@suse.de


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 7b23887a
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -703,6 +703,9 @@ static int snd_sb16_dma_control_put(struct snd_kcontrol *kcontrol, struct snd_ct
	unsigned char nval, oval;
	int change;
	
	if (chip->mode & (SB_MODE_PLAYBACK | SB_MODE_CAPTURE))
		return -EBUSY;

	nval = ucontrol->value.enumerated.item[0];
	if (nval > 2)
		return -EINVAL;