/* C-Media CM6206 is based on CM106 with two additional registers that are not documented in the data sheet. Values here are chosen based on sniffing USB traffic under Windows.  */
static int snd_usb_cm6206_boot_quirk(struct usb_device *dev)
/* C-Media CM6206 is based on CM106 with two additional registers that are not documented in the data sheet. Values here are chosen based on sniffing USB traffic under Windows.  */
static int snd_usb_cm6206_boot_quirk(struct usb_device *dev)
{
	int err, reg;
	int val[] = {0x200c, 0x3000, 0xf800, 0x143f, 0x0000, 0x3000};
	for (reg = 0; reg < ARRAY_SIZE(val); reg++) {
		err = snd_usb_cm106_write_int_reg(dev, reg, val[reg]);
		if (err < 0)
			return err;
	}
	return err;
}