tty: serial: 8250: Set RS232 as default for Moxa PCIe board initialization
authorCrescent CY Hsieh <crescentcy.hsieh@moxa.com>
Tue, 2 Jan 2024 05:31:33 +0000 (13:31 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Jan 2024 15:21:47 +0000 (16:21 +0100)
After switching the serial interface of the Moxa RS232 PCIe boards, it
fails to reset to RS232 when attempting to reload 8250_pci driver.

This patch set RS232 as the default setting during the initialization of
Moxa PCIe board.

Signed-off-by: Crescent CY Hsieh <crescentcy.hsieh@moxa.com>
Link: https://lore.kernel.org/r/20240102053133.9795-1-crescentcy.hsieh@moxa.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_pci.c

index 8ccf691935b75330092588dbc35bd745dde8d557..0d35c77fad9eb1a700baeff700d4c83d38b8a2fd 100644 (file)
@@ -2039,12 +2039,13 @@ static int pci_moxa_init(struct pci_dev *dev)
        unsigned short device = dev->device;
        resource_size_t iobar_addr = pci_resource_start(dev, 2);
        unsigned int num_ports = (device & 0x00F0) >> 4, i;
-       u8 val;
+       u8 val, init_mode = MOXA_RS232;
 
        if (!(pci_moxa_supported_rs(dev) & MOXA_SUPP_RS232)) {
-               for (i = 0; i < num_ports; ++i)
-                       pci_moxa_set_interface(dev, i, MOXA_RS422);
+               init_mode = MOXA_RS422;
        }
+       for (i = 0; i < num_ports; ++i)
+               pci_moxa_set_interface(dev, i, init_mode);
 
        /*
         * Enable hardware buffer to prevent break signal output when system boots up.