Several bug reports have come in, noting that disabling CONFIG_PCI_MSI
has fixed their problems with this driver. This may be generic system
issues, but there is also the probability of unimplemented hardware
errata workarounds. Until this ream of bug reports is sorted out, we
can get them going in non-MSI interrupt mode.
As such, this change adds an 'msi' module option, which defaults to off.
.reset_bus = mv_reset_pci_bus,
};
+/*
+ * module options
+ */
+static int msi; /* Use PCI msi; either zero (off, default) or non-zero */
+
+
/*
* Functions
*/
}
/* 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);
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);