소스 검색

Merge branch 'fix/hda' into topic/misc

Takashi Iwai 14 년 전
부모
커밋
3409fcd1f7
5개의 변경된 파일12개의 추가작업 그리고 8개의 파일을 삭제
  1. 1 0
      sound/firewire/isight.c
  2. 1 1
      sound/pci/hda/hda_beep.h
  3. 7 4
      sound/pci/hda/patch_via.c
  4. 1 1
      sound/pci/lola/lola.c
  5. 2 2
      sound/usb/6fire/pcm.c

+ 1 - 0
sound/firewire/isight.c

@@ -209,6 +209,7 @@ static void isight_packet(struct fw_iso_context *context, u32 cycle,
 		isight->packet_index = -1;
 		return;
 	}
+	fw_iso_context_queue_flush(isight->context);
 
 	if (++index >= QUEUE_LENGTH)
 		index = 0;

+ 1 - 1
sound/pci/hda/hda_beep.h

@@ -54,7 +54,7 @@ static inline int snd_hda_attach_beep_device(struct hda_codec *codec, int nid)
 {
 	return 0;
 }
-void snd_hda_detach_beep_device(struct hda_codec *codec)
+static inline void snd_hda_detach_beep_device(struct hda_codec *codec)
 {
 }
 #endif

+ 7 - 4
sound/pci/hda/patch_via.c

@@ -832,10 +832,13 @@ static int via_hp_build(struct hda_codec *codec)
 	knew->subdevice = HDA_SUBDEV_NID_FLAG | nid;
 	knew->private_value = nid;
 
-	knew = via_clone_control(spec, &via_hp_mixer[1]);
-	if (knew == NULL)
-		return -ENOMEM;
-	knew->subdevice = side_mute_channel(spec);
+	nid = side_mute_channel(spec);
+	if (nid) {
+		knew = via_clone_control(spec, &via_hp_mixer[1]);
+		if (knew == NULL)
+			return -ENOMEM;
+		knew->subdevice = nid;
+	}
 
 	return 0;
 }

+ 1 - 1
sound/pci/lola/lola.c

@@ -445,7 +445,7 @@ static void lola_reset_setups(struct lola *chip)
 	lola_setup_all_analog_gains(chip, PLAY, false); /* output, update */
 }
 
-static int lola_parse_tree(struct lola *chip)
+static int __devinit lola_parse_tree(struct lola *chip)
 {
 	unsigned int val;
 	int nid, err;

+ 2 - 2
sound/usb/6fire/pcm.c

@@ -395,12 +395,12 @@ static int usb6fire_pcm_open(struct snd_pcm_substream *alsa_sub)
 	alsa_rt->hw = pcm_hw;
 
 	if (alsa_sub->stream == SNDRV_PCM_STREAM_PLAYBACK) {
-		if (rt->rate >= 0)
+		if (rt->rate < ARRAY_SIZE(rates))
 			alsa_rt->hw.rates = rates_alsaid[rt->rate];
 		alsa_rt->hw.channels_max = OUT_N_CHANNELS;
 		sub = &rt->playback;
 	} else if (alsa_sub->stream == SNDRV_PCM_STREAM_CAPTURE) {
-		if (rt->rate >= 0)
+		if (rt->rate < ARRAY_SIZE(rates))
 			alsa_rt->hw.rates = rates_alsaid[rt->rate];
 		alsa_rt->hw.channels_max = IN_N_CHANNELS;
 		sub = &rt->capture;