* [PATCH] USB: serial: pl2303: fix HX type detection
[not found] <YQPsgPey1V+7ccGq@hovoldconsulting.com>
@ 2021-07-30 12:21 ` Johan Hovold
2021-07-30 12:29 ` Greg KH
0 siblings, 1 reply; 3+ messages in thread
From: Johan Hovold @ 2021-07-30 12:21 UTC (permalink / raw)
To: Johan Hovold
Cc: Charles Yeh, Yeh.Charles [葉榮鑫],
linux-usb, linux-kernel, Chris, stable
The device release number for HX-type devices is configurable in
EEPROM/OTPROM and cannot be used reliably for type detection.
Assume all (non-H) devices with bcdUSB 1.1 and unknown bcdDevice to be
of HX type while adding a bcdDevice check for HXD and TB (1.1 and 2.0,
respectively).
Reported-by: Chris <chris@cyber-anlage.de>
Fixes: 8a7bf7510d1f ("USB: serial: pl2303: amend and tighten type detection")
Cc: stable@vger.kernel.org # 5.13
Signed-off-by: Johan Hovold <johan@kernel.org>
---
drivers/usb/serial/pl2303.c | 41 ++++++++++++++++++++++---------------
1 file changed, 25 insertions(+), 16 deletions(-)
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
index 2f2f5047452b..17601e32083e 100644
--- a/drivers/usb/serial/pl2303.c
+++ b/drivers/usb/serial/pl2303.c
@@ -418,24 +418,33 @@ static int pl2303_detect_type(struct usb_serial *serial)
bcdDevice = le16_to_cpu(desc->bcdDevice);
bcdUSB = le16_to_cpu(desc->bcdUSB);
- switch (bcdDevice) {
- case 0x100:
- /*
- * Assume it's an HXN-type if the device doesn't support the old read
- * request value.
- */
- if (bcdUSB == 0x200 && !pl2303_supports_hx_status(serial))
- return TYPE_HXN;
+ switch (bcdUSB) {
+ case 0x110:
+ switch (bcdDevice) {
+ case 0x300:
+ return TYPE_HX;
+ case 0x400:
+ return TYPE_HXD;
+ default:
+ return TYPE_HX;
+ }
break;
- case 0x300:
- if (bcdUSB == 0x200)
+ case 0x200:
+ switch (bcdDevice) {
+ case 0x100:
+ /*
+ * Assume it's an HXN-type if the device doesn't
+ * support the old read request value.
+ */
+ if (!pl2303_supports_hx_status(serial))
+ return TYPE_HXN;
+ break;
+ case 0x300:
return TYPE_TA;
-
- return TYPE_HX;
- case 0x400:
- return TYPE_HXD;
- case 0x500:
- return TYPE_TB;
+ case 0x500:
+ return TYPE_TB;
+ }
+ break;
}
dev_err(&serial->interface->dev,
--
2.31.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] USB: serial: pl2303: fix HX type detection
2021-07-30 12:21 ` [PATCH] USB: serial: pl2303: fix HX type detection Johan Hovold
@ 2021-07-30 12:29 ` Greg KH
2021-07-30 15:11 ` Johan Hovold
0 siblings, 1 reply; 3+ messages in thread
From: Greg KH @ 2021-07-30 12:29 UTC (permalink / raw)
To: Johan Hovold
Cc: Charles Yeh, Yeh.Charles [葉榮鑫],
linux-usb, linux-kernel, Chris, stable
On Fri, Jul 30, 2021 at 02:21:56PM +0200, Johan Hovold wrote:
> The device release number for HX-type devices is configurable in
> EEPROM/OTPROM and cannot be used reliably for type detection.
>
> Assume all (non-H) devices with bcdUSB 1.1 and unknown bcdDevice to be
> of HX type while adding a bcdDevice check for HXD and TB (1.1 and 2.0,
> respectively).
>
> Reported-by: Chris <chris@cyber-anlage.de>
> Fixes: 8a7bf7510d1f ("USB: serial: pl2303: amend and tighten type detection")
> Cc: stable@vger.kernel.org # 5.13
> Signed-off-by: Johan Hovold <johan@kernel.org>
> ---
> drivers/usb/serial/pl2303.c | 41 ++++++++++++++++++++++---------------
> 1 file changed, 25 insertions(+), 16 deletions(-)
>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] USB: serial: pl2303: fix HX type detection
2021-07-30 12:29 ` Greg KH
@ 2021-07-30 15:11 ` Johan Hovold
0 siblings, 0 replies; 3+ messages in thread
From: Johan Hovold @ 2021-07-30 15:11 UTC (permalink / raw)
To: Greg KH
Cc: Charles Yeh, Yeh.Charles [葉榮鑫],
linux-usb, linux-kernel, Chris, stable
On Fri, Jul 30, 2021 at 02:29:55PM +0200, Greg Kroah-Hartman wrote:
> On Fri, Jul 30, 2021 at 02:21:56PM +0200, Johan Hovold wrote:
> > The device release number for HX-type devices is configurable in
> > EEPROM/OTPROM and cannot be used reliably for type detection.
> >
> > Assume all (non-H) devices with bcdUSB 1.1 and unknown bcdDevice to be
> > of HX type while adding a bcdDevice check for HXD and TB (1.1 and 2.0,
> > respectively).
> >
> > Reported-by: Chris <chris@cyber-anlage.de>
> > Fixes: 8a7bf7510d1f ("USB: serial: pl2303: amend and tighten type detection")
> > Cc: stable@vger.kernel.org # 5.13
> > Signed-off-by: Johan Hovold <johan@kernel.org>
> > ---
> > drivers/usb/serial/pl2303.c | 41 ++++++++++++++++++++++---------------
> > 1 file changed, 25 insertions(+), 16 deletions(-)
> >
>
> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Thanks for reviewing. Now applied.
Johan
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-07-30 15:12 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <YQPsgPey1V+7ccGq@hovoldconsulting.com>
2021-07-30 12:21 ` [PATCH] USB: serial: pl2303: fix HX type detection Johan Hovold
2021-07-30 12:29 ` Greg KH
2021-07-30 15:11 ` Johan Hovold
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).