答复: [PATCH] ALSA: usb-audio: Add iface re set and delay quirk for JKY Technology Q2A
胡连勤 <[email protected]>
| Newsgroups | gmane.linux.sound,gmane.linux.kernel |
|---|---|
| Message-ID | <TYUPR06MB621767F631B7932FD6F3B079D2CF2@TYUPR06MB6217.apcprd06.prod.outlook.com> |
Hi Rong: > > On Fri, 2026-07-24 at 08:29 +0000, 胡连勤 wrote: > > Setting up the interface when suspended/resuming fails on this card. > > Adding a reset and delay quirk will eliminate this problem. > > > > Note: This device misuses the Apple VID (0x05ac) & PID (0x110b). > > The device's VID conflicts with Apple's, but there is no PID conflict, > right? The VID & PID are the same as those of Apple's official digital headphones. This is the VID & PID information of digital headphones purchased from Apple: [20946.829805] usb 1-1: New USB device found, idVendor=05ac, idProduct=110b, bcdDevice=26.81 [20946.829811] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [20946.829813] usb 1-1: Product: EarPods [20946.829815] usb 1-1: Manufacturer: Apple, Inc. [20946.829816] usb 1-1: SerialNumber: JCRF0XQQH1 [20946.830111] usb 1-1: usb_probe_device > > If a manufacturer uses other's VID, it's a VID conflict. The device > falls into this category. > > If the manufacturer uses the same PID among different products, it's a > PID conflict. I don't think it's the case of the device, unless JKY > Technology reuses PID 0x110b for products other than Q2A. The device's VID & PID information are exactly the same as Apple's official information. Misusing Apple digital headphones' VID and PID information > > > > > usb 1-1: New USB device found, idVendor=05ac, idProduct=110b > > usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 > > usb 1-1: Product: Q2A > > usb 1-1: Manufacturer: JKY Technology > > usb 1-1: SerialNumber: 330270D2251225 > > > > Signed-off-by: Lianqin Hu <[email protected]> > > --- > > sound/usb/quirks.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c > > index 0de7c9d94259..ad2ce384e32d 100644 > > --- a/sound/usb/quirks.c > > +++ b/sound/usb/quirks.c > > @@ -2200,6 +2200,8 @@ struct usb_audio_quirk_flags_table { > > > > static const struct usb_audio_quirk_flags_table quirk_flags_table[] = { > > /* Device and string descriptor matches */ > > + DEVICE_STRING_FLG(0x05ac, 0x110b, "JKY Technology", "Q2A", /* JKY Technology Q2A */ > > Hence, I don't think it's necessary to match "Q2A" here. > > Meanwhile, in any case, the comment should describe the VID/PID conflict > instead of repeating the string descriptor(s) being matched, and the > strings should break into another line. OK, The comments should include information about any conflicting vid and pid information. > > See how commit b13031ca112a ("ALSA: usb-audio: Deconflict VID between > Focusrite Novation & MV-SILICON") describe the conflict and arrange > lines. > > > + QUIRK_FLAG_FORCE_IFACE_RESET | QUIRK_FLAG_IFACE_DELAY), > > Bad indent. After careful inspection, the indentation in quirk.c appears to be consistent with previous indentation practices. DEVICE_FLG(0x413c, 0xa506, /* Dell AE515 sound bar */ QUIRK_FLAG_GET_SAMPLE_RATE), DEVICE_FLG(0x534d, 0x0021, /* MacroSilicon MS2100/MS2106 */ QUIRK_FLAG_ALIGN_TRANSFER), DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */ QUIRK_FLAG_ALIGN_TRANSFER), DEVICE_FLG(0x84ef, 0x0082, /* Hotone Audio Pulze Mini */ QUIRK_FLAG_MIXER_PLAYBACK_LINEAR_VOL | QUIRK_FLAG_MIXER_CAPTURE_LINEAR_VOL), > > This is the first DEVICE_STRING_FLG() item, so please don't set a bad > example. I would prefer: > > DEVICE_STRING_FLG(0x05ac, 0x110b, /* VID conflicts with Apple */ > "JKY Technology", NULL /* Q2A */, > QUIRK_FLAG_FORCE_IFACE_RESET | QUIRK_FLAG_IFACE_DELAY), > OK,This way of writing is better, but the indentation is slightly different from that of the predecessors. I personally hope to keep it consistent with the predecessors. > Thanks, > Rong > > > > > /* Device matches */ > > DEVICE_FLG(0x001f, 0x0b21, /* AB13X USB Audio */ > > -- > > 2.39.0 Thanks Lianqin