[PATCH 5/9] ALSA: usb-audio: Deconflict VID between Focusrite Novation & MV-SILICON

Rong Zhang
2026-03-01T21:38:06Z

MV-SILICON is a SoC manufacturer producing multifunctional audio SoCs.
Many budget-oriented OEM devices are built on top of them. However, some
of them are just too budget-constrained that their manufacturers didn't
even have a USB VID and simply picked a random VID.

Some OEMs unfortunately picked the VID of Focusrite Novation (0x1235),
resulting in VID conflicts as we had defined a VENDOR_FLG() for the
latter.

Add a VENDOR_STRING_FLG() for MV-SILICON to stop the matching procedure
for these quirky devices, so that quirk flags for Focusrite Novation
won't be accidentally applied on them.

Quirky device samples:

usb 7-1: New USB device found, idVendor=1235, idProduct=0003, bcdDevice= 1.00
usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 7-1: Product: G1
usb 7-1: Manufacturer: MV-SILICON
usb 7-1: SerialNumber: 20190808

usb 7-1: New USB device found, idVendor=1235, idProduct=0003, bcdDevice= 1.00
usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 7-1: Product: mvsilicon B1 usb audio
usb 7-1: Manufacturer: MV-SILICON
usb 7-1: SerialNumber: 20190808

usb 1-1.2: New USB device found, idVendor=1235, idProduct=0002, bcdDevice= 1.00
usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=...
usb 1-1.2: Product: V8
usb 1-1.2: Manufacturer: MV-SILICON
usb 1-1.2: SerialNumber: ...
* https://github.com/linuxhw/Dmesg/blob/main/Desktop/Others/Intel/Intel%20X79/96ED1CC44499/LINUXMINT-19.3/5.0.0-32-GENERIC/X86_64/5BE1E4C74C#L1122

usb 2-1.6: New USB device found, idVendor=1235, idProduct=0002, bcdDevice= 1.00
usb 2-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=...
usb 2-1.6: Product: V9
usb 2-1.6: Manufacturer: MV-SILICON
usb 2-1.6: SerialNumber: ...
* https://github.com/linuxhw/Dmesg/blob/main/Desktop/Hewlett-Packard/ProLiant/ProLiant%20ML110%20G6/79B1D707316A/KUBUNTU-21.04/5.11.0-33-GENERIC/X86_64/A43F59C4AB#L1009

Signed-off-by: Rong Zhang <i@rong.moe>
---
sound/usb/quirks.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 495dd46ce515c..5370bcd99e9d0 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -2440,6 +2440,9 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
QUIRK_FLAG_ALIGN_TRANSFER),

/* Vendor and string descriptor matches */
+ VENDOR_STRING_FLG(0x1235, /* VID conflict with Focusrite Novation */
+ "MV-SILICON",
+ 0), /* Stop matching */

/* Vendor matches */
VENDOR_FLG(0x045e, /* MS Lifecam */
--
2.51.0