|
@@ -509,6 +509,12 @@ static const struct mv_hw_ops mv6xxx_ops = {
|
|
|
.reset_bus = mv_reset_pci_bus,
|
|
|
};
|
|
|
|
|
|
+/*
|
|
|
+ * module options
|
|
|
+ */
|
|
|
+static int msi; /* Use PCI msi; either zero (off, default) or non-zero */
|
|
|
+
|
|
|
+
|
|
|
/*
|
|
|
* Functions
|
|
|
*/
|
|
@@ -2191,7 +2197,7 @@ static int mv_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
}
|
|
|
|
|
|
/* Enable interrupts */
|
|
|
- if (pci_enable_msi(pdev) == 0) {
|
|
|
+ if (msi && pci_enable_msi(pdev) == 0) {
|
|
|
hpriv->hp_flags |= MV_HP_FLAG_MSI;
|
|
|
} else {
|
|
|
pci_intx(pdev, 1);
|
|
@@ -2246,5 +2252,8 @@ MODULE_LICENSE("GPL");
|
|
|
MODULE_DEVICE_TABLE(pci, mv_pci_tbl);
|
|
|
MODULE_VERSION(DRV_VERSION);
|
|
|
|
|
|
+module_param(msi, int, 0444);
|
|
|
+MODULE_PARM_DESC(msi, "Enable use of PCI MSI (0=off, 1=on)");
|
|
|
+
|
|
|
module_init(mv_init);
|
|
|
module_exit(mv_exit);
|