drivers/usb/core/quirks.c | 4 ++++ 1 file changed, 4 insertions(+)
From: Miao Li <limiao@kylinos.cn>
When used on Huawei hisi platforms, Prolific PL2303 Serial Port which
the VID:PID is in 067b:2731 might fail to enumerate at boot time and
doesn't work well with LPM enabled, combination quirks:
USB_QUIRK_DELAY_INIT + USB_QUIRK_NO_LPM
fixed the problems.
Signed-off-by: Miao Li <limiao@kylinos.cn>
---
drivers/usb/core/quirks.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index dfcfc142bd5e..8aca5518e003 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -341,6 +341,10 @@ static const struct usb_device_id usb_quirk_list[] = {
{ USB_DEVICE(0x0638, 0x0a13), .driver_info =
USB_QUIRK_STRING_FETCH_255 },
+ /* Prolific PL2303 Serial Port */
+ { USB_DEVICE(0x067b, 0x2731), .driver_info = USB_QUIRK_DELAY_INIT |
+ USB_QUIRK_NO_LPM },
+
/* Saitek Cyborg Gold Joystick */
{ USB_DEVICE(0x06a3, 0x0006), .driver_info =
USB_QUIRK_CONFIG_INTF_STRINGS },
--
2.25.1
On Mon, Mar 03, 2025 at 03:00:47PM +0800, Miao Li wrote:
> From: Miao Li <limiao@kylinos.cn>
>
> When used on Huawei hisi platforms, Prolific PL2303 Serial Port which
> the VID:PID is in 067b:2731 might fail to enumerate at boot time and
> doesn't work well with LPM enabled, combination quirks:
> USB_QUIRK_DELAY_INIT + USB_QUIRK_NO_LPM
> fixed the problems.
>
> Signed-off-by: Miao Li <limiao@kylinos.cn>
> ---
> drivers/usb/core/quirks.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
> index dfcfc142bd5e..8aca5518e003 100644
> --- a/drivers/usb/core/quirks.c
> +++ b/drivers/usb/core/quirks.c
> @@ -341,6 +341,10 @@ static const struct usb_device_id usb_quirk_list[] = {
> { USB_DEVICE(0x0638, 0x0a13), .driver_info =
> USB_QUIRK_STRING_FETCH_255 },
>
> + /* Prolific PL2303 Serial Port */
> + { USB_DEVICE(0x067b, 0x2731), .driver_info = USB_QUIRK_DELAY_INIT |
> + USB_QUIRK_NO_LPM },
But this is not the device id for a pl2303 device (or at least one that
Linux supports), so how was this tested?
And why would this device suddenly stop working? This chipset has been
working with Linux for decades now, what is new about this device that
requires this change?
thanks,
greg k-h
>On Mon, Mar 03, 2025 at 03:00:47PM +0800, Miao Li wrote:
>> From: Miao Li <limiao@kylinos.cn>
>>
>> When used on Huawei hisi platforms, Prolific PL2303 Serial Port which
>> the VID:PID is in 067b:2731 might fail to enumerate at boot time and
>> doesn't work well with LPM enabled, combination quirks:
>> USB_QUIRK_DELAY_INIT + USB_QUIRK_NO_LPM
>> fixed the problems.
>>
>> Signed-off-by: Miao Li <limiao@kylinos.cn>
>> ---
>> drivers/usb/core/quirks.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
>> index dfcfc142bd5e..8aca5518e003 100644
>> --- a/drivers/usb/core/quirks.c
>> +++ b/drivers/usb/core/quirks.c
>> @@ -341,6 +341,10 @@ static const struct usb_device_id usb_quirk_list[] = {
>> { USB_DEVICE(0x0638, 0x0a13), .driver_info =
>> USB_QUIRK_STRING_FETCH_255 },
>>
>> + /* Prolific PL2303 Serial Port */
>> + { USB_DEVICE(0x067b, 0x2731), .driver_info = USB_QUIRK_DELAY_INIT |
>> + USB_QUIRK_NO_LPM },
>
>But this is not the device id for a pl2303 device (or at least one that
>Linux supports), so how was this tested?
>
>And why would this device suddenly stop working? This chipset has been
>working with Linux for decades now, what is new about this device that
>requires this change?
Hi greg k-h,
we received this patch from Huawei hisi, but without device info,
I use deepseek to search device info for 067b:2731,
but got the incorrect answer,I'm sorry for making this mistake,
then I visit Prolific official website for device 067b:2731,
https://www.prolific.com.tw/US/ShowProduct.aspx?p_id=326&pcid=153,
067b:2731 is a USB 3.0 Single-LUN Mass Storage Card Reader.
Hisi tested the related device on kirin990/9a0/9000c/9006c platforms
with reboot/suspend/hibernation circles more than two thousand times,
they found the device might fail to enumerate or experiences intermittent disconnections on reboot test,
and this patch has been practically applied to the mentioned platforms to resolve the problems.
I've modified the device description information in patch V2.
Best Regards,
Miao Li
From: Miao Li <limiao@kylinos.cn>
When used on Huawei hisi platforms, Prolific Mass Storage Card Reader
which the VID:PID is in 067b:2731 might fail to enumerate at boot time
and doesn't work well with LPM enabled, combination quirks:
USB_QUIRK_DELAY_INIT + USB_QUIRK_NO_LPM
fixed the problems.
Signed-off-by: Miao Li <limiao@kylinos.cn>
---
V1 -> V2: Change device description information
---
drivers/usb/core/quirks.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index dfcfc142bd5e..8efbacc5bc34 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -341,6 +341,10 @@ static const struct usb_device_id usb_quirk_list[] = {
{ USB_DEVICE(0x0638, 0x0a13), .driver_info =
USB_QUIRK_STRING_FETCH_255 },
+ /* Prolific Single-LUN Mass Storage Card Reader */
+ { USB_DEVICE(0x067b, 0x2731), .driver_info = USB_QUIRK_DELAY_INIT |
+ USB_QUIRK_NO_LPM },
+
/* Saitek Cyborg Gold Joystick */
{ USB_DEVICE(0x06a3, 0x0006), .driver_info =
USB_QUIRK_CONFIG_INTF_STRINGS },
--
2.25.1
© 2016 - 2026 Red Hat, Inc.