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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jun 2022 08:22:27 +0000 (10:22 +0200)
commit e82e7c6dde91acd6748d672a44dc1980ce239f86 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/pl2303.c

index 1d878d05a6584d473ab143fba8d39ce9269baaaa..3506c47e1eef023b1ba6e9e0c81089aa3d3fe340 100644 (file)
@@ -421,6 +421,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: