|
@@ -1427,8 +1427,8 @@ static int set_format(struct snd_usb_substream *subs, struct audioformat *fmt)
|
|
|
subs->cur_audiofmt = fmt;
|
|
|
|
|
|
#if 0
|
|
|
- printk("setting done: format = %d, rate = %d, channels = %d\n",
|
|
|
- fmt->format, fmt->rate, fmt->channels);
|
|
|
+ printk("setting done: format = %d, rate = %d..%d, channels = %d\n",
|
|
|
+ fmt->format, fmt->rate_min, fmt->rate_max, fmt->channels);
|
|
|
printk(" datapipe = 0x%0x, syncpipe = 0x%0x\n",
|
|
|
subs->datapipe, subs->syncpipe);
|
|
|
#endif
|
|
@@ -2468,11 +2468,12 @@ static int parse_audio_format_i_type(struct snd_usb_audio *chip, struct audiofor
|
|
|
}
|
|
|
break;
|
|
|
case USB_AUDIO_FORMAT_PCM8:
|
|
|
- /* Dallas DS4201 workaround */
|
|
|
+ pcm_format = SNDRV_PCM_FORMAT_U8;
|
|
|
+
|
|
|
+ /* Dallas DS4201 workaround: it advertises U8 format, but really
|
|
|
+ supports S8. */
|
|
|
if (chip->usb_id == USB_ID(0x04fa, 0x4201))
|
|
|
pcm_format = SNDRV_PCM_FORMAT_S8;
|
|
|
- else
|
|
|
- pcm_format = SNDRV_PCM_FORMAT_U8;
|
|
|
break;
|
|
|
case USB_AUDIO_FORMAT_IEEE_FLOAT:
|
|
|
pcm_format = SNDRV_PCM_FORMAT_FLOAT_LE;
|