USB: serial: pl2303: fix type detection for odd device
authorJohan Hovold <johan@kernel.org>
Tue, 17 May 2022 16:17:36 +0000 (18:17 +0200)
committerJohan Hovold <johan@kernel.org>
Wed, 18 May 2022 11:57:00 +0000 (13:57 +0200)
At least one pl2303 device has a bcdUSB of 1.0.1 which most likely was
was intended as 1.1.

Allow bcdDevice 1.0.1 but interpret it as 1.1.

Fixes: 1e9faef4d26d ("USB: serial: pl2303: fix HX type detection")
Cc: stable@vger.kernel.org # 5.13
Link: https://lore.kernel.org/linux-usb/CAJixRzqf4a9-ZKZDgWxicc_BpfdZVE9qqGmkiO7xEstOXUbGvQ@mail.gmail.com
Reported-by: Gary van der Merwe <gary.vandermerwe@fnb.co.za>
Link: https://lore.kernel.org/r/20220517161736.13313-1-johan@kernel.org
Signed-off-by: Johan Hovold <johan@kernel.org>
drivers/usb/serial/pl2303.c

index 88b284d..e0555d3 100644 (file)
@@ -420,6 +420,9 @@ static int pl2303_detect_type(struct usb_serial *serial)
        bcdUSB = le16_to_cpu(desc->bcdUSB);
 
        switch (bcdUSB) {
+       case 0x101:
+               /* USB 1.0.1? Let's assume they meant 1.1... */
+               fallthrough;
        case 0x110:
                switch (bcdDevice) {
                case 0x300: