diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2013-07-16 20:14:23 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2013-07-16 20:14:23 +0000 |
| commit | 31b67ab26edc17c503586ef4583338cf4503149a (patch) | |
| tree | 7bbdbf49d6d6a238ad66044e14d6d8c80554cffa /sys | |
| parent | e1f38054f5a117de8f0566b5e02ad60e4d24500a (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/dev/usb/controller/xhci_pci.c | 19 |
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, |
