aboutsummaryrefslogtreecommitdiffstats
path: root/sound/core/oss/mixer_oss.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/core/oss/mixer_oss.c')
-rw-r--r--sound/core/oss/mixer_oss.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sound/core/oss/mixer_oss.c b/sound/core/oss/mixer_oss.c
index 822dd56993ca..d8359cfeca15 100644
--- a/sound/core/oss/mixer_oss.c
+++ b/sound/core/oss/mixer_oss.c
@@ -190,9 +190,10 @@ static int snd_mixer_oss_get_recsrc(struct snd_mixer_oss_file *fmixer)
190 return -EIO; 190 return -EIO;
191 if (mixer->put_recsrc && mixer->get_recsrc) { /* exclusive */ 191 if (mixer->put_recsrc && mixer->get_recsrc) { /* exclusive */
192 int err; 192 int err;
193 if ((err = mixer->get_recsrc(fmixer, &result)) < 0) 193 unsigned int index;
194 if ((err = mixer->get_recsrc(fmixer, &index)) < 0)
194 return err; 195 return err;
195 result = 1 << result; 196 result = 1 << index;
196 } else { 197 } else {
197 struct snd_mixer_oss_slot *pslot; 198 struct snd_mixer_oss_slot *pslot;
198 int chn; 199 int chn;
@@ -214,6 +215,7 @@ static int snd_mixer_oss_set_recsrc(struct snd_mixer_oss_file *fmixer, int recsr
214 struct snd_mixer_oss *mixer = fmixer->mixer; 215 struct snd_mixer_oss *mixer = fmixer->mixer;
215 struct snd_mixer_oss_slot *pslot; 216 struct snd_mixer_oss_slot *pslot;
216 int chn, active; 217 int chn, active;
218 unsigned int index;
217 int result = 0; 219 int result = 0;
218 220
219 if (mixer == NULL) 221 if (mixer == NULL)
@@ -222,8 +224,8 @@ static int snd_mixer_oss_set_recsrc(struct snd_mixer_oss_file *fmixer, int recsr
222 if (recsrc & ~mixer->oss_recsrc) 224 if (recsrc & ~mixer->oss_recsrc)
223 recsrc &= ~mixer->oss_recsrc; 225 recsrc &= ~mixer->oss_recsrc;
224 mixer->put_recsrc(fmixer, ffz(~recsrc)); 226 mixer->put_recsrc(fmixer, ffz(~recsrc));
225 mixer->get_recsrc(fmixer, &result); 227 mixer->get_recsrc(fmixer, &index);
226 result = 1 << result; 228 result = 1 << index;
227 } 229 }
228 for (chn = 0; chn < 31; chn++) { 230 for (chn = 0; chn < 31; chn++) {
229 pslot = &mixer->slots[chn]; 231 pslot = &mixer->slots[chn];