diff options
Diffstat (limited to 'sound/usb/quirks.c')
| -rw-r--r-- | sound/usb/quirks.c | 16 | 
1 files changed, 9 insertions, 7 deletions
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c index 02b6cc02767f..8a945ece9869 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c @@ -1213,7 +1213,7 @@ int snd_usb_select_mode_quirk(struct snd_usb_substream *subs,  		if (err < 0)  			return err; -		mdelay(20); /* Delay needed after setting the interface */ +		msleep(20); /* Delay needed after setting the interface */  		/* Vendor mode switch cmd is required. */  		if (fmt->formats & SNDRV_PCM_FMTBIT_DSD_U32_BE) { @@ -1234,7 +1234,7 @@ int snd_usb_select_mode_quirk(struct snd_usb_substream *subs,  				return err;  		} -		mdelay(20); +		msleep(20);  	}  	return 0;  } @@ -1281,7 +1281,7 @@ void snd_usb_set_interface_quirk(struct usb_device *dev)  	switch (USB_ID_VENDOR(chip->usb_id)) {  	case 0x23ba: /* Playback Design */  	case 0x0644: /* TEAC Corp. */ -		mdelay(50); +		msleep(50);  		break;  	}  } @@ -1301,7 +1301,7 @@ void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe,  	 */  	if (USB_ID_VENDOR(chip->usb_id) == 0x23ba &&  	    (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) -		mdelay(20); +		msleep(20);  	/*  	 * "TEAC Corp." products need a 20ms delay after each @@ -1309,14 +1309,14 @@ void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe,  	 */  	if (USB_ID_VENDOR(chip->usb_id) == 0x0644 &&  	    (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) -		mdelay(20); +		msleep(20);  	/* ITF-USB DSD based DACs functionality need a delay  	 * after each class compliant request  	 */  	if (is_itf_usb_dsd_dac(chip->usb_id)  	    && (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) -		mdelay(20); +		msleep(20);  	/* Zoom R16/24, Logitech H650e, Jabra 550a needs a tiny delay here,  	 * otherwise requests like get/set frequency return as failed despite @@ -1326,7 +1326,7 @@ void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe,  	     chip->usb_id == USB_ID(0x046d, 0x0a46) ||  	     chip->usb_id == USB_ID(0x0b0e, 0x0349)) &&  	    (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) -		mdelay(1); +		usleep_range(1000, 2000);  }  /* @@ -1373,6 +1373,7 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,  			return SNDRV_PCM_FMTBIT_DSD_U32_BE;  		break; +	case USB_ID(0x16d0, 0x09dd): /* Encore mDSD */  	case USB_ID(0x0d8c, 0x0316): /* Hegel HD12 DSD */  	case USB_ID(0x16b0, 0x06b2): /* NuPrime DAC-10 */  	case USB_ID(0x16d0, 0x0733): /* Furutech ADL Stratos */ @@ -1443,6 +1444,7 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,  	 */  	switch (USB_ID_VENDOR(chip->usb_id)) {  	case 0x20b1:  /* XMOS based devices */ +	case 0x152a:  /* Thesycon devices */  	case 0x25ce:  /* Mytek devices */  		if (fp->dsd_raw)  			return SNDRV_PCM_FMTBIT_DSD_U32_BE;  |