A mutex initialized with the interrupt block cookie that represents a high-level interrupt is known as a high-level mutex. While holding a high-level mutex, the driver is subject to the same restrictions as a high-level interrupt handler. The only routines it can call are:
mutex_exit(9F) to release the high-level mutex
ddi_trigger_softintr(9F) to trigger a soft interrupt