]> git.ipfire.org Git - thirdparty/kernel/linux.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>
Thu, 12 Mar 2026 14:31:51 +0000 (15:31 +0100)
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 aa1ab4da9ff1b57c530aa7a1e6c5bf2523cda32c..6cfd1b2af5b770fd0d4dbeedf847fca8ecec158e 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) },
        { }
 };
 
@@ -920,6 +924,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;
 
@@ -2544,6 +2549,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
        */
@@ -6065,6 +6078,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
         */