aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2013-07-16 20:14:23 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2013-07-16 20:14:23 +0000
commit31b67ab26edc17c503586ef4583338cf4503149a (patch)
tree7bbdbf49d6d6a238ad66044e14d6d8c80554cffa /sys
parente1f38054f5a117de8f0566b5e02ad60e4d24500a (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/usb/controller/xhci_pci.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/sys/dev/usb/controller/xhci_pci.c b/sys/dev/usb/controller/xhci_pci.c
index 0d897d994bc4..da16f510c32a 100644
--- a/sys/dev/usb/controller/xhci_pci.c
+++ b/sys/dev/usb/controller/xhci_pci.c
@@ -132,6 +132,9 @@ xhci_pci_probe(device_t self)
}
}
+static int xhci_use_msi = 1;
+TUNABLE_INT("hw.usb.xhci.msi", &xhci_use_msi);
+
static void
xhci_interrupt_poll(void *_sc)
{
@@ -171,13 +174,15 @@ xhci_pci_attach(device_t self)
usb_callout_init_mtx(&sc->sc_callout, &sc->sc_bus.bus_mtx, 0);
sc->sc_irq_rid = 0;
- count = pci_msi_count(self);
- if (count >= 1) {
- count = 1;
- if (pci_alloc_msi(self, &count) == 0) {
- if (bootverbose)
- device_printf(self, "MSI enabled\n");
- sc->sc_irq_rid = 1;
+ if (xhci_use_msi) {
+ count = pci_msi_count(self);
+ if (count >= 1) {
+ count = 1;
+ if (pci_alloc_msi(self, &count) == 0) {
+ if (bootverbose)
+ device_printf(self, "MSI enabled\n");
+ sc->sc_irq_rid = 1;
+ }
}
}
sc->sc_irq_res = bus_alloc_resource_any(self, SYS_RES_IRQ,