Index: uspace/lib/usbhost/include/usb/host/ddf_helpers.h
===================================================================
--- uspace/lib/usbhost/include/usb/host/ddf_helpers.h	(revision 2bdf92a5421dca631f166390174abc1a586d1c26)
+++ uspace/lib/usbhost/include/usb/host/ddf_helpers.h	(revision b08e98baa9f9a43decb28ff503b56eed801651fd)
@@ -70,5 +70,5 @@
 hcd_t *dev_to_hcd(ddf_dev_t *dev);
 
-int hcd_ddf_enable_interrupts(ddf_dev_t *device);
+int hcd_ddf_enable_interrupt(ddf_dev_t *device, int);
 int hcd_ddf_get_registers(ddf_dev_t *device, hw_res_list_parsed_t *hw_res);
 int hcd_ddf_setup_interrupts(ddf_dev_t *device,
Index: uspace/lib/usbhost/src/ddf_helpers.c
===================================================================
--- uspace/lib/usbhost/src/ddf_helpers.c	(revision 2bdf92a5421dca631f166390174abc1a586d1c26)
+++ uspace/lib/usbhost/src/ddf_helpers.c	(revision b08e98baa9f9a43decb28ff503b56eed801651fd)
@@ -692,10 +692,11 @@
 
 //TODO: Cache parent session in HCD
-/** Call the parent driver with a request to enable interrupts
+/** Call the parent driver with a request to enable interrupt
  *
  * @param[in] device Device asking for interrupts
+ * @param[in] inum Interrupt number
  * @return Error code.
  */
-int hcd_ddf_enable_interrupts(ddf_dev_t *device)
+int hcd_ddf_enable_interrupt(ddf_dev_t *device, int inum)
 {
 	async_sess_t *parent_sess = ddf_dev_parent_sess_get(device);
@@ -703,7 +704,5 @@
 		return EIO;
 
-	const bool enabled = hw_res_enable_interrupt(parent_sess);
-
-	return enabled ? EOK : EIO;
+	return hw_res_enable_interrupt(parent_sess, inum);
 }
 
@@ -776,5 +775,5 @@
 
 	/* Enable interrupts */
-	int ret = hcd_ddf_enable_interrupts(device);
+	int ret = hcd_ddf_enable_interrupt(device, irq);
 	if (ret != EOK) {
 		usb_log_error("Failed to register interrupt handler: %s.\n",
