答复: 答复: [PATCH] ALSA: usb-audio: Add iface reset and delay quirk for JKY Technolog y Q2A

胡连勤 <[email protected]>
Newsgroups org.kernel.vger.linux-sound,org.kernel.vger.linux-kernel
Message-ID <TYUPR06MB6217DF257393FF328C1602FAD2CF2@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
> 
> It doesn't matter at all whether the PID is the same as one of Apple
> products.
Yes, Agreed, PID cannot represent the manufacturer.


> Between two different manufacturers there is only a VID conflict, but no
> PID conflict. It is a PID conflict *only if* two different products from
> *JKY Technology* share the same PID, but you haven't seen another JKY
> Technology product with the same PID, right?
Yes, we haven't encountered it yet.

> 
> >
> > >
> > > >
> > > > 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.
> 
> Alignment should match the open parenthesis. See PARENTHESIS_ALIGNMENT in
> scripts/checkpatch.pl. It's not a strict requirement but it makes the
> code more readable. See also the indentation of VENDOR_STRING_FLG().

OK,I'll make some changes and add:
Suggested by: Rong Zhang <[email protected]>


Thanks
Lianqin
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.