1 From 78d3820b9bd39028727c6aab7297b63c093db343 Mon Sep 17 00:00:00 2001
2 From: Jay Dolan <jay.dolan@accesio.com>
3 Date: Tue, 12 Feb 2019 21:43:12 -0800
4 Subject: serial: 8250_pci: Have ACCES cards that use the four port Pericom PI7C9X7954 chip use the pci_pericom_setup()
6 From: Jay Dolan <jay.dolan@accesio.com>
8 commit 78d3820b9bd39028727c6aab7297b63c093db343 upstream.
10 The four port Pericom chips have the fourth port at the wrong address.
11 Make use of quirk to fix it.
13 Fixes: c8d192428f52 ("serial: 8250: added acces i/o products quad and octal serial cards")
14 Cc: stable <stable@vger.kernel.org>
15 Signed-off-by: Jay Dolan <jay.dolan@accesio.com>
16 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
19 drivers/tty/serial/8250/8250_pci.c | 105 +++++++++++++++++++++++++++++++++++++
20 1 file changed, 105 insertions(+)
22 --- a/drivers/tty/serial/8250/8250_pci.c
23 +++ b/drivers/tty/serial/8250/8250_pci.c
24 @@ -2326,6 +2326,111 @@ static struct pci_serial_quirk pci_seria
25 .setup = pci_default_setup,
26 .exit = pci_plx9050_exit,
29 + .vendor = PCI_VENDOR_ID_ACCESIO,
30 + .device = PCI_DEVICE_ID_ACCESIO_PCIE_COM_4SDB,
31 + .subvendor = PCI_ANY_ID,
32 + .subdevice = PCI_ANY_ID,
33 + .setup = pci_pericom_setup,
36 + .vendor = PCI_VENDOR_ID_ACCESIO,
37 + .device = PCI_DEVICE_ID_ACCESIO_MPCIE_COM_4S,
38 + .subvendor = PCI_ANY_ID,
39 + .subdevice = PCI_ANY_ID,
40 + .setup = pci_pericom_setup,
43 + .vendor = PCI_VENDOR_ID_ACCESIO,
44 + .device = PCI_DEVICE_ID_ACCESIO_PCIE_COM232_4DB,
45 + .subvendor = PCI_ANY_ID,
46 + .subdevice = PCI_ANY_ID,
47 + .setup = pci_pericom_setup,
50 + .vendor = PCI_VENDOR_ID_ACCESIO,
51 + .device = PCI_DEVICE_ID_ACCESIO_MPCIE_COM232_4,
52 + .subvendor = PCI_ANY_ID,
53 + .subdevice = PCI_ANY_ID,
54 + .setup = pci_pericom_setup,
57 + .vendor = PCI_VENDOR_ID_ACCESIO,
58 + .device = PCI_DEVICE_ID_ACCESIO_PCIE_COM_4SMDB,
59 + .subvendor = PCI_ANY_ID,
60 + .subdevice = PCI_ANY_ID,
61 + .setup = pci_pericom_setup,
64 + .vendor = PCI_VENDOR_ID_ACCESIO,
65 + .device = PCI_DEVICE_ID_ACCESIO_MPCIE_COM_4SM,
66 + .subvendor = PCI_ANY_ID,
67 + .subdevice = PCI_ANY_ID,
68 + .setup = pci_pericom_setup,
71 + .vendor = PCI_VENDOR_ID_ACCESIO,
72 + .device = PCI_DEVICE_ID_ACCESIO_MPCIE_ICM422_4,
73 + .subvendor = PCI_ANY_ID,
74 + .subdevice = PCI_ANY_ID,
75 + .setup = pci_pericom_setup,
78 + .vendor = PCI_VENDOR_ID_ACCESIO,
79 + .device = PCI_DEVICE_ID_ACCESIO_MPCIE_ICM485_4,
80 + .subvendor = PCI_ANY_ID,
81 + .subdevice = PCI_ANY_ID,
82 + .setup = pci_pericom_setup,
85 + .vendor = PCI_DEVICE_ID_ACCESIO_PCIE_ICM_4S,
86 + .device = PCI_DEVICE_ID_ACCESIO_PCIE_ICM232_4,
87 + .subvendor = PCI_ANY_ID,
88 + .subdevice = PCI_ANY_ID,
89 + .setup = pci_pericom_setup,
92 + .vendor = PCI_VENDOR_ID_ACCESIO,
93 + .device = PCI_DEVICE_ID_ACCESIO_MPCIE_ICM232_4,
94 + .subvendor = PCI_ANY_ID,
95 + .subdevice = PCI_ANY_ID,
96 + .setup = pci_pericom_setup,
99 + .vendor = PCI_VENDOR_ID_ACCESIO,
100 + .device = PCI_DEVICE_ID_ACCESIO_PCIE_COM422_4,
101 + .subvendor = PCI_ANY_ID,
102 + .subdevice = PCI_ANY_ID,
103 + .setup = pci_pericom_setup,
106 + .vendor = PCI_VENDOR_ID_ACCESIO,
107 + .device = PCI_DEVICE_ID_ACCESIO_PCIE_COM485_4,
108 + .subvendor = PCI_ANY_ID,
109 + .subdevice = PCI_ANY_ID,
110 + .setup = pci_pericom_setup,
113 + .vendor = PCI_VENDOR_ID_ACCESIO,
114 + .device = PCI_DEVICE_ID_ACCESIO_PCIE_COM232_4,
115 + .subvendor = PCI_ANY_ID,
116 + .subdevice = PCI_ANY_ID,
117 + .setup = pci_pericom_setup,
120 + .vendor = PCI_VENDOR_ID_ACCESIO,
121 + .device = PCI_DEVICE_ID_ACCESIO_PCIE_COM_4SM,
122 + .subvendor = PCI_ANY_ID,
123 + .subdevice = PCI_ANY_ID,
124 + .setup = pci_pericom_setup,
127 + .vendor = PCI_VENDOR_ID_ACCESIO,
128 + .device = PCI_DEVICE_ID_ACCESIO_PCIE_ICM_4SM,
129 + .subvendor = PCI_ANY_ID,
130 + .subdevice = PCI_ANY_ID,
131 + .setup = pci_pericom_setup,
134 * SBS Technologies, Inc., PMC-OCTALPRO 232