diff options
author | jimharris <jimharris@FreeBSD.org> | 2015-09-11 17:01:01 +0000 |
---|---|---|
committer | jimharris <jimharris@FreeBSD.org> | 2015-09-11 17:01:01 +0000 |
commit | c658400dc578ca1a6752829d9752a67b2644ac19 (patch) | |
tree | f94c1f24f7d911a6390424bf28d82249573f0105 | |
parent | f5725c2bdfce75c4020feb9d8ca1b702d6a158b6 (diff) | |
download | FreeBSD-src-c658400dc578ca1a6752829d9752a67b2644ac19.zip FreeBSD-src-c658400dc578ca1a6752829d9752a67b2644ac19.tar.gz |
MFC r287563:
isci: explicitly enable/disable PCI busmaster
BIOS always enables PCI busmaster on the isci device, which effectively
worked around this omission. But when passing the isci device through
to a guest VM, the hypervisor will disable busmaster and isci will not
work without calling pci_enable_busmaster().
Sponsored by: Intel
-rw-r--r-- | sys/dev/isci/isci.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/isci/isci.c b/sys/dev/isci/isci.c index 2f0727d..5a1066c 100644 --- a/sys/dev/isci/isci.c +++ b/sys/dev/isci/isci.c @@ -163,6 +163,7 @@ isci_attach(device_t device) g_isci = isci; isci->device = device; + pci_enable_busmaster(device); isci_allocate_pci_memory(isci); @@ -272,6 +273,7 @@ isci_detach(device_t device) pci_release_msi(device); } + pci_disable_busmaster(device); return (0); } |