Index: /trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.c
===================================================================
--- /trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.c	(revision 50751)
+++ /trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.c	(revision 50752)
@@ -75,4 +75,5 @@
 static int VBoxGuestSolarisAttach(dev_info_t *pDip, ddi_attach_cmd_t enmCmd);
 static int VBoxGuestSolarisDetach(dev_info_t *pDip, ddi_detach_cmd_t enmCmd);
+static int VBoxGuestSolarisQuiesce(dev_info_t *pDip);
 
 static int VBoxGuestSolarisAddIRQ(dev_info_t *pDip);
@@ -123,5 +124,5 @@
     (struct bus_ops *)0,
     nodev,                  /* power */
-    ddi_quiesce_not_needed
+    VBoxGuestSolarisQuiesce
 };
 
@@ -421,4 +422,27 @@
 
 /**
+ * Quiesce entry point, called by solaris kernel for disabling the device from
+ * generating any interrupts or doing in-bound DMA.
+ *
+ * @param   pDip            The module structure instance.
+ *
+ * @return  corresponding solaris error code.
+ */
+static int VBoxGuestSolarisQuiesce(dev_info_t *pDip)
+{
+    for (int i = 0; i < g_cIntrAllocated; i++)
+    {
+        int rc = ddi_intr_disable(g_pIntr[i]);
+        if (rc != DDI_SUCCESS)
+            return DDI_FAILURE;
+    }
+
+    /** @todo What about HGCM/HGSMI touching guest-memory? */
+
+    return DDI_SUCCESS;
+}
+
+
+/**
  * Info entry point, called by solaris kernel for obtaining driver info.
  *
