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);
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to