* Re: [PATCH] usb: core: quirks: Add 255-bytes initial config read quirk
@ 2026-07-25 5:05 Ishaan Dandekar
2026-07-25 5:22 ` Greg KH
2026-07-25 7:23 ` Nikhil Solanke
0 siblings, 2 replies; 6+ messages in thread
From: Ishaan Dandekar @ 2026-07-25 5:05 UTC (permalink / raw)
To: nikhilsolanke5; +Cc: linux-usb
Hi Nikhil,
Thank you for this patch. I can confirm this exact 255-byte config
read issue also affects the ShanWan Wireless Gamepad (dongle ID
2563:0575). Standard enumeration causes a -71 EPROTO crash and drops
it into a generic Android mode.
Your logic prevents the firmware crash.
Tested-by: Ishaan Dandekar <ishaan.dandekar@gmail.com>
Could you please fold the following device ID into your quirks list for v2?
/* ShanWan Wireless Gamepad */
{ USB_DEVICE(0x2563, 0x0575), .driver_info =
USB_QUIRK_WINDOWS_CONFIG_REQ_SIZE },
Thanks,
Ishaan Dandekar
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH] usb: core: quirks: Add 255-bytes initial config read quirk 2026-07-25 5:05 [PATCH] usb: core: quirks: Add 255-bytes initial config read quirk Ishaan Dandekar @ 2026-07-25 5:22 ` Greg KH 2026-07-25 14:49 ` Ishaan Dandekar 2026-07-25 7:23 ` Nikhil Solanke 1 sibling, 1 reply; 6+ messages in thread From: Greg KH @ 2026-07-25 5:22 UTC (permalink / raw) To: Ishaan Dandekar; +Cc: nikhilsolanke5, linux-usb On Sat, Jul 25, 2026 at 10:35:47AM +0530, Ishaan Dandekar wrote: > Hi Nikhil, > > Thank you for this patch. I can confirm this exact 255-byte config > read issue also affects the ShanWan Wireless Gamepad (dongle ID > 2563:0575). Standard enumeration causes a -71 EPROTO crash and drops > it into a generic Android mode. > > Your logic prevents the firmware crash. > > Tested-by: Ishaan Dandekar <ishaan.dandekar@gmail.com> > > Could you please fold the following device ID into your quirks list for v2? > > /* ShanWan Wireless Gamepad */ > { USB_DEVICE(0x2563, 0x0575), .driver_info = > USB_QUIRK_WINDOWS_CONFIG_REQ_SIZE }, Just send a follow-on patch for this device so you can get credit for the change? thanks, greg k-h ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] usb: core: quirks: Add 255-bytes initial config read quirk 2026-07-25 5:22 ` Greg KH @ 2026-07-25 14:49 ` Ishaan Dandekar 2026-07-25 17:27 ` Greg KH 2026-07-25 19:04 ` Nikhil Solanke 0 siblings, 2 replies; 6+ messages in thread From: Ishaan Dandekar @ 2026-07-25 14:49 UTC (permalink / raw) To: Greg KH; +Cc: nikhilsolanke5, linux-usb Hi Greg, Here is the follow-on patch adding the ShanWan Wireless Gamepad (2563:0575) to the static quirks table. Note: This patch depends on the USB_QUIRK_WINDOWS_CONFIG_REQ_SIZE flag introduced in Nikhil Solanke's pending patch: https://lore.kernel.org/linux-usb/20260717195336.98500-2-nikhilsolanke5@gmail.com/ Thanks, Ishaan --- From ecd1aa9afd8bc00a3e0b36cbe49b427f390e5de6 Mon Sep 17 00:00:00 2001 From: Ishaan Dandekar <ishaan.dandekar@gmail.com> Date: Sat, 25 Jul 2026 20:03:28 +0530 Subject: [PATCH] usb: quirks: Add ShanWan gamepad to quirk list The ShanWan Wireless Gamepad (dongle ID 2563:0575) crashes with a -71 EPROTO error during standard enumeration because it expects a 255-byte initial configuration request. Add this device to the quirk list to use the USB_QUIRK_WINDOWS_CONFIG_REQ_SIZE flag. Signed-off-by: Ishaan Dandekar <ishaan.dandekar@gmail.com> --- drivers/usb/core/quirks.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c index 87ee2d938..696bb6548 100644 --- a/drivers/usb/core/quirks.c +++ b/drivers/usb/core/quirks.c @@ -588,6 +588,9 @@ static const struct usb_device_id usb_quirk_list[] = { { USB_DEVICE(0x2386, 0x3119), .driver_info = USB_QUIRK_NO_LPM }, { USB_DEVICE(0x2386, 0x350e), .driver_info = USB_QUIRK_NO_LPM }, + + /* ShanWan Wireless Gamepad */ + { USB_DEVICE(0x2563, 0x0575), .driver_info = USB_QUIRK_WINDOWS_CONFIG_REQ_SIZE }, /* UGREEN 35871 - BOS descriptor fetch hangs at SuperSpeed Plus */ { USB_DEVICE(0x2b89, 0x5871), .driver_info = USB_QUIRK_NO_BOS }, -- 2.34.1 On Sat, Jul 25, 2026 at 10:53 AM Greg KH <gregkh@linuxfoundation.org> wrote: > > On Sat, Jul 25, 2026 at 10:35:47AM +0530, Ishaan Dandekar wrote: > > Hi Nikhil, > > > > Thank you for this patch. I can confirm this exact 255-byte config > > read issue also affects the ShanWan Wireless Gamepad (dongle ID > > 2563:0575). Standard enumeration causes a -71 EPROTO crash and drops > > it into a generic Android mode. > > > > Your logic prevents the firmware crash. > > > > Tested-by: Ishaan Dandekar <ishaan.dandekar@gmail.com> > > > > Could you please fold the following device ID into your quirks list for v2? > > > > /* ShanWan Wireless Gamepad */ > > { USB_DEVICE(0x2563, 0x0575), .driver_info = > > USB_QUIRK_WINDOWS_CONFIG_REQ_SIZE }, > > Just send a follow-on patch for this device so you can get credit for > the change? > > thanks, > > greg k-h ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] usb: core: quirks: Add 255-bytes initial config read quirk 2026-07-25 14:49 ` Ishaan Dandekar @ 2026-07-25 17:27 ` Greg KH 2026-07-25 19:04 ` Nikhil Solanke 1 sibling, 0 replies; 6+ messages in thread From: Greg KH @ 2026-07-25 17:27 UTC (permalink / raw) To: Ishaan Dandekar; +Cc: nikhilsolanke5, linux-usb On Sat, Jul 25, 2026 at 08:19:21PM +0530, Ishaan Dandekar wrote: > Hi Greg, > > Here is the follow-on patch adding the ShanWan Wireless Gamepad (2563:0575) > to the static quirks table. > > Note: This patch depends on the USB_QUIRK_WINDOWS_CONFIG_REQ_SIZE flag > introduced in Nikhil Solanke's pending patch: > https://lore.kernel.org/linux-usb/20260717195336.98500-2-nikhilsolanke5@gmail.com/ > > Thanks, > Ishaan > > --- > > >From ecd1aa9afd8bc00a3e0b36cbe49b427f390e5de6 Mon Sep 17 00:00:00 2001 > From: Ishaan Dandekar <ishaan.dandekar@gmail.com> > Date: Sat, 25 Jul 2026 20:03:28 +0530 > Subject: [PATCH] usb: quirks: Add ShanWan gamepad to quirk list > > The ShanWan Wireless Gamepad (dongle ID 2563:0575) crashes with a -71 > EPROTO error during standard enumeration because it expects a 255-byte > initial configuration request. Add this device to the quirk list to > use the USB_QUIRK_WINDOWS_CONFIG_REQ_SIZE flag. > > Signed-off-by: Ishaan Dandekar <ishaan.dandekar@gmail.com> > --- > drivers/usb/core/quirks.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c > index 87ee2d938..696bb6548 100644 > --- a/drivers/usb/core/quirks.c > +++ b/drivers/usb/core/quirks.c > @@ -588,6 +588,9 @@ static const struct usb_device_id usb_quirk_list[] = { > { USB_DEVICE(0x2386, 0x3119), .driver_info = USB_QUIRK_NO_LPM }, > > { USB_DEVICE(0x2386, 0x350e), .driver_info = USB_QUIRK_NO_LPM }, > + > + /* ShanWan Wireless Gamepad */ > + { USB_DEVICE(0x2563, 0x0575), .driver_info = > USB_QUIRK_WINDOWS_CONFIG_REQ_SIZE }, > > /* UGREEN 35871 - BOS descriptor fetch hangs at SuperSpeed Plus */ > { USB_DEVICE(0x2b89, 0x5871), .driver_info = USB_QUIRK_NO_BOS }, > -- > 2.34.1 > This patch is corrupted and can not be applied, please just send it with git send-email so that this doesn't happen. thanks, greg k-h ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] usb: core: quirks: Add 255-bytes initial config read quirk 2026-07-25 14:49 ` Ishaan Dandekar 2026-07-25 17:27 ` Greg KH @ 2026-07-25 19:04 ` Nikhil Solanke 1 sibling, 0 replies; 6+ messages in thread From: Nikhil Solanke @ 2026-07-25 19:04 UTC (permalink / raw) To: Ishaan Dandekar; +Cc: Greg KH, linux-usb On Sat, 25 Jul 2026 at 20:19, Ishaan Dandekar <ishaan.dandekar@gmail.com> wrote: > > Hi Greg, > > Here is the follow-on patch adding the ShanWan Wireless Gamepad (2563:0575) > to the static quirks table. > > Note: This patch depends on the USB_QUIRK_WINDOWS_CONFIG_REQ_SIZE flag > introduced in Nikhil Solanke's pending patch: > https://lore.kernel.org/linux-usb/20260717195336.98500-2-nikhilsolanke5@gmail.com/ > > Thanks, > Ishaan > > --- > > From ecd1aa9afd8bc00a3e0b36cbe49b427f390e5de6 Mon Sep 17 00:00:00 2001 > From: Ishaan Dandekar <ishaan.dandekar@gmail.com> > Date: Sat, 25 Jul 2026 20:03:28 +0530 > Subject: [PATCH] usb: quirks: Add ShanWan gamepad to quirk list > > The ShanWan Wireless Gamepad (dongle ID 2563:0575) crashes with a -71 > EPROTO error during standard enumeration because it expects a 255-byte > initial configuration request. Add this device to the quirk list to > use the USB_QUIRK_WINDOWS_CONFIG_REQ_SIZE flag. > > Signed-off-by: Ishaan Dandekar <ishaan.dandekar@gmail.com> > --- > drivers/usb/core/quirks.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c > index 87ee2d938..696bb6548 100644 > --- a/drivers/usb/core/quirks.c > +++ b/drivers/usb/core/quirks.c > @@ -588,6 +588,9 @@ static const struct usb_device_id usb_quirk_list[] = { > { USB_DEVICE(0x2386, 0x3119), .driver_info = USB_QUIRK_NO_LPM }, > > { USB_DEVICE(0x2386, 0x350e), .driver_info = USB_QUIRK_NO_LPM }, > + > + /* ShanWan Wireless Gamepad */ > + { USB_DEVICE(0x2563, 0x0575), .driver_info = > USB_QUIRK_WINDOWS_CONFIG_REQ_SIZE }, > > /* UGREEN 35871 - BOS descriptor fetch hangs at SuperSpeed Plus */ > { USB_DEVICE(0x2b89, 0x5871), .driver_info = USB_QUIRK_NO_BOS }, > -- > 2.34.1 > > On Sat, Jul 25, 2026 at 10:53 AM Greg KH <gregkh@linuxfoundation.org> wrote: > > > > On Sat, Jul 25, 2026 at 10:35:47AM +0530, Ishaan Dandekar wrote: > > > Hi Nikhil, > > > > > > Thank you for this patch. I can confirm this exact 255-byte config > > > read issue also affects the ShanWan Wireless Gamepad (dongle ID > > > 2563:0575). Standard enumeration causes a -71 EPROTO crash and drops > > > it into a generic Android mode. > > > > > > Your logic prevents the firmware crash. > > > > > > Tested-by: Ishaan Dandekar <ishaan.dandekar@gmail.com> > > > > > > Could you please fold the following device ID into your quirks list for v2? > > > > > > /* ShanWan Wireless Gamepad */ > > > { USB_DEVICE(0x2563, 0x0575), .driver_info = > > > USB_QUIRK_WINDOWS_CONFIG_REQ_SIZE }, > > > > Just send a follow-on patch for this device so you can get credit for > > the change? > > > > thanks, > > > > greg k-h For git send-email setup, the kernel documentation has a good guide at Documentation/process/email-clients.rst. The key is making sure your mail client doesn't reformat the patch content. Gmail will change the tabs into spaces and wrap stuff, which leads to patch corruption. (this is what seems to have happened in this case). Also instead of sending it directly, you might want to save your email in a txt file and use `git am email.txt` to verify if it applies cleanly Thanks, Nikhil Solanke ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] usb: core: quirks: Add 255-bytes initial config read quirk 2026-07-25 5:05 [PATCH] usb: core: quirks: Add 255-bytes initial config read quirk Ishaan Dandekar 2026-07-25 5:22 ` Greg KH @ 2026-07-25 7:23 ` Nikhil Solanke 1 sibling, 0 replies; 6+ messages in thread From: Nikhil Solanke @ 2026-07-25 7:23 UTC (permalink / raw) To: Ishaan Dandekar; +Cc: linux-usb Hi Ishaan, Thanks again for testing the patch and providing the additional device ID. I think you might find this interesting: Someone had opened an issue regarding this patch and CachyOS has accepted the patch for inclusion in their 7.2/fixes branch, even before it's merged upstream, so hopefully users on CachyOS will get the fix sooner. Once the patch lands in CachyOS (or upstream), users with other affected devices won't necessarily need to rebuild the kernel. They can use the usbcore.quirks= kernel command-line parameter to enable this quirk for VID:PID pairs. Of course, adding the device to the static quirks table is still worthwhile, especially since Greg suggested sending a follow-up patch for it. Thanks again for helping test and improve the patch. Thanks, Nikhil Solanke ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-07-25 19:04 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-07-25 5:05 [PATCH] usb: core: quirks: Add 255-bytes initial config read quirk Ishaan Dandekar 2026-07-25 5:22 ` Greg KH 2026-07-25 14:49 ` Ishaan Dandekar 2026-07-25 17:27 ` Greg KH 2026-07-25 19:04 ` Nikhil Solanke 2026-07-25 7:23 ` Nikhil Solanke
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.