Index: uspace/drv/bus/usb/ohci/hc.c
===================================================================
--- uspace/drv/bus/usb/ohci/hc.c	(revision 3e2007362d836bf325d886faec0dfc231c162014)
+++ uspace/drv/bus/usb/ohci/hc.c	(revision a5361fbf3216d3b3f9c1304b6a2b7b2610076827)
@@ -172,4 +172,5 @@
 	list_initialize(&instance->pending_batches);
 	fibril_mutex_initialize(&instance->guard);
+	instance->hw_interrupts = interrupts;
 
 	ret = hc_init_memory(instance);
@@ -485,8 +486,11 @@
 
 	/* Enable interrupts */
-	OHCI_WR(instance->registers->interrupt_enable, OHCI_USED_INTERRUPTS);
-	usb_log_debug("Enabled interrupts: %x.\n",
-	    OHCI_RD(instance->registers->interrupt_enable));
-	OHCI_WR(instance->registers->interrupt_enable, I_MI);
+	if (instance->hw_interrupts) {
+		OHCI_WR(instance->registers->interrupt_enable,
+		    OHCI_USED_INTERRUPTS);
+		usb_log_debug("Enabled interrupts: %x.\n",
+		    OHCI_RD(instance->registers->interrupt_enable));
+		OHCI_WR(instance->registers->interrupt_enable, I_MI);
+	}
 
 	/* Set periodic start to 90% */
Index: uspace/drv/bus/usb/ohci/hc.h
===================================================================
--- uspace/drv/bus/usb/ohci/hc.h	(revision 3e2007362d836bf325d886faec0dfc231c162014)
+++ uspace/drv/bus/usb/ohci/hc.h	(revision a5361fbf3216d3b3f9c1304b6a2b7b2610076827)
@@ -71,4 +71,7 @@
 	fibril_mutex_t guard;
 
+	/** interrupts available */
+	bool hw_interrupts;
+
 	/** USB hub emulation structure */
 	ohci_rh_t rh;
