]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
serial: 8250_pci: add support for the AX99100
authorMartin Roukala (né Peres) <martin.roukala@mupuf.org>
Mon, 9 Mar 2026 13:53:10 +0000 (15:53 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Mar 2026 10:08:49 +0000 (11:08 +0100)
commit 9c0072bc33d349c83d223e64be30794e11938a6b upstream.

This is found in popular brands such as StarTech.com or Delock, and has
been a source of frustration to quite a few people, if I can trust
Amazon comments complaining about Linux support via the official
out-of-the-tree driver.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Cc: stable <stable@kernel.org>
Link: https://patch.msgid.link/20260309-8250_pci_ax99100-v1-1-3328bdfd8e94@mupuf.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_pci.c

index ab6adfe24b5d9b98ab2b1452223fe768035de3b7..b34cacd9dd766b1b7a09ec042dfaaa0b8f0c04f2 100644 (file)
@@ -137,6 +137,8 @@ struct serial_private {
 };
 
 #define PCI_DEVICE_ID_HPE_PCI_SERIAL   0x37e
+#define PCIE_VENDOR_ID_ASIX            0x125B
+#define PCIE_DEVICE_ID_AX99100         0x9100
 
 static const struct pci_device_id pci_use_msi[] = {
        { PCI_DEVICE_SUB(PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9900,
@@ -149,6 +151,8 @@ static const struct pci_device_id pci_use_msi[] = {
                         0xA000, 0x1000) },
        { PCI_DEVICE_SUB(PCI_VENDOR_ID_HP_3PAR, PCI_DEVICE_ID_HPE_PCI_SERIAL,
                         PCI_ANY_ID, PCI_ANY_ID) },
+       { PCI_DEVICE_SUB(PCIE_VENDOR_ID_ASIX, PCIE_DEVICE_ID_AX99100,
+                        0xA000, 0x1000) },
        { }
 };
 
@@ -912,6 +916,7 @@ static int pci_netmos_init(struct pci_dev *dev)
        case PCI_DEVICE_ID_NETMOS_9912:
        case PCI_DEVICE_ID_NETMOS_9922:
        case PCI_DEVICE_ID_NETMOS_9900:
+       case PCIE_DEVICE_ID_AX99100:
                num_serial = pci_netmos_9900_numports(dev);
                break;
 
@@ -2507,6 +2512,14 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
                .init           = pci_netmos_init,
                .setup          = pci_netmos_9900_setup,
        },
+       {
+               .vendor         = PCIE_VENDOR_ID_ASIX,
+               .device         = PCI_ANY_ID,
+               .subvendor      = PCI_ANY_ID,
+               .subdevice      = PCI_ANY_ID,
+               .init           = pci_netmos_init,
+               .setup          = pci_netmos_9900_setup,
+       },
        /*
         * EndRun Technologies
        */
@@ -6028,6 +6041,10 @@ static const struct pci_device_id serial_pci_tbl[] = {
                0xA000, 0x3002,
                0, 0, pbn_NETMOS9900_2s_115200 },
 
+       {       PCIE_VENDOR_ID_ASIX, PCIE_DEVICE_ID_AX99100,
+               0xA000, 0x1000,
+               0, 0, pbn_b0_1_115200 },
+
        /*
         * Best Connectivity and Rosewill PCI Multi I/O cards
         */