|
@@ -1118,6 +1118,18 @@ pci_xr17c154_setup(struct serial_private *priv,
|
|
|
return pci_default_setup(priv, board, port, idx);
|
|
|
}
|
|
|
|
|
|
+static int try_enable_msi(struct pci_dev *dev)
|
|
|
+{
|
|
|
+ /* use msi if available, but fallback to legacy otherwise */
|
|
|
+ pci_enable_msi(dev);
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+static void disable_msi(struct pci_dev *dev)
|
|
|
+{
|
|
|
+ pci_disable_msi(dev);
|
|
|
+}
|
|
|
+
|
|
|
#define PCI_VENDOR_ID_SBSMODULARIO 0x124B
|
|
|
#define PCI_SUBVENDOR_ID_SBSMODULARIO 0x124B
|
|
|
#define PCI_DEVICE_ID_OCTPRO 0x0001
|
|
@@ -1233,7 +1245,9 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
|
|
|
.device = PCI_DEVICE_ID_INTEL_PATSBURG_KT,
|
|
|
.subvendor = PCI_ANY_ID,
|
|
|
.subdevice = PCI_ANY_ID,
|
|
|
+ .init = try_enable_msi,
|
|
|
.setup = kt_serial_setup,
|
|
|
+ .exit = disable_msi,
|
|
|
},
|
|
|
/*
|
|
|
* ITE
|