Linux USB
 help / color / mirror / Atom feed
* 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: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

* 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

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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox