* Re: [PATCH] usb: quirks: Add DELAY_INIT and NO_LPM for Prolific PL2303 Serial Port
2025-03-03 7:00 [PATCH] usb: quirks: Add DELAY_INIT and NO_LPM for Prolific PL2303 Serial Port Miao Li
@ 2025-03-03 9:16 ` Greg KH
2025-03-05 1:24 ` Miao Li
2025-03-04 7:05 ` Miao Li
2025-03-04 7:07 ` [PATCH V2] usb: quirks: Add DELAY_INIT and NO_LPM for Prolific Mass Storage Card Reader Miao Li
2 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2025-03-03 9:16 UTC (permalink / raw)
To: Miao Li; +Cc: linux-usb, linux-kernel, Miao Li
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
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: Re: [PATCH] usb: quirks: Add DELAY_INIT and NO_LPM for Prolific PL2303 Serial Port
2025-03-03 9:16 ` Greg KH
@ 2025-03-05 1:24 ` Miao Li
0 siblings, 0 replies; 5+ messages in thread
From: Miao Li @ 2025-03-05 1:24 UTC (permalink / raw)
To: gregkh; +Cc: limiao870622, limiao, linux-kernel, linux-usb
>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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] usb: quirks: Add DELAY_INIT and NO_LPM for Prolific PL2303 Serial Port
2025-03-03 7:00 [PATCH] usb: quirks: Add DELAY_INIT and NO_LPM for Prolific PL2303 Serial Port Miao Li
2025-03-03 9:16 ` Greg KH
@ 2025-03-04 7:05 ` Miao Li
2025-03-04 7:07 ` [PATCH V2] usb: quirks: Add DELAY_INIT and NO_LPM for Prolific Mass Storage Card Reader Miao Li
2 siblings, 0 replies; 5+ messages in thread
From: Miao Li @ 2025-03-04 7:05 UTC (permalink / raw)
To: gregkh; +Cc: linux-usb, linux-kernel, limiao870622
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 2108 bytes --]
>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
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH V2] usb: quirks: Add DELAY_INIT and NO_LPM for Prolific Mass Storage Card Reader
2025-03-03 7:00 [PATCH] usb: quirks: Add DELAY_INIT and NO_LPM for Prolific PL2303 Serial Port Miao Li
2025-03-03 9:16 ` Greg KH
2025-03-04 7:05 ` Miao Li
@ 2025-03-04 7:07 ` Miao Li
2 siblings, 0 replies; 5+ messages in thread
From: Miao Li @ 2025-03-04 7:07 UTC (permalink / raw)
To: gregkh; +Cc: linux-usb, linux-kernel, limiao870622, 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
^ permalink raw reply related [flat|nested] 5+ messages in thread