svn commit: r287563 - head/sys/dev/isci

Jim Harris jimharris at FreeBSD.org
Tue Sep 8 15:59:56 UTC 2015


Author: jimharris
Date: Tue Sep  8 15:59:55 2015
New Revision: 287563
URL: https://svnweb.freebsd.org/changeset/base/287563

Log:
  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().
  
  MFC after:	3 days
  Sponsored by:	Intel

Modified:
  head/sys/dev/isci/isci.c

Modified: head/sys/dev/isci/isci.c
==============================================================================
--- head/sys/dev/isci/isci.c	Tue Sep  8 14:52:14 2015	(r287562)
+++ head/sys/dev/isci/isci.c	Tue Sep  8 15:59:55 2015	(r287563)
@@ -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);
 }


More information about the svn-src-head mailing list