Index: uspace/drv/bus/usb/usbmid/explore.c
===================================================================
--- uspace/drv/bus/usb/usbmid/explore.c	(revision db8b7ca0bcbe43621eabcff64193795eab10a1c6)
+++ uspace/drv/bus/usb/usbmid/explore.c	(revision 34289ea1cf7a21ae403e997bb418686e5c96f385)
@@ -57,5 +57,5 @@
 {
 	list_foreach(*list, l) {
-		usbmid_interface_t *iface = usbmid_interface_from_link(l);
+		const usbmid_interface_t *iface = usbmid_interface_from_link(l);
 		if (iface->interface_no == interface_no) {
 			return true;
@@ -130,9 +130,7 @@
  * @return Whether to accept this device from devman.
  */
-bool usbmid_explore_device(usb_device_t *dev)
+int usbmid_explore_device(usb_device_t *dev)
 {
-	int rc;
-
-	unsigned dev_class = dev->descriptors.device.device_class;
+	const unsigned dev_class = dev->descriptors.device.device_class;
 	if (dev_class != USB_CLASS_USE_INTERFACE) {
 		usb_log_warning(
@@ -140,6 +138,6 @@
 		    dev_class, usb_str_class(dev_class),
 		    USB_CLASS_USE_INTERFACE);
-		usb_log_error("Not multi interface device, refusing.\n");
-		return false;
+		usb_log_error("Not a multi-interface device, refusing.\n");
+		return ENOTSUP;
 	}
 
@@ -151,11 +149,13 @@
 
 	/* Select the first configuration */
-	rc = usb_request_set_configuration(&dev->ctrl_pipe,
+	int rc = usb_request_set_configuration(&dev->ctrl_pipe,
 	    config_descriptor->configuration_number);
 	if (rc != EOK) {
 		usb_log_error("Failed to set device configuration: %s.\n",
 		    str_error(rc));
-		return false;
-	}
+		return rc;
+	}
+
+	
 
 	/* Create driver soft-state. */
@@ -163,5 +163,5 @@
 	if (!usb_mid) {
 		usb_log_error("Failed to create USB MID structure.\n");
-		return false;
+		return ENOMEM;
 	}
 
@@ -170,5 +170,5 @@
 	if (usb_mid->ctl_fun == NULL) {
 		usb_log_error("Failed to create control function.\n");
-		return false;
+		return ENOMEM;
 	}
 	ddf_fun_set_ops(usb_mid->ctl_fun, &mid_device_ops);
@@ -180,5 +180,5 @@
 		    str_error(rc));
 		ddf_fun_destroy(usb_mid->ctl_fun);
-		return false;
+		return rc;
 	}
 
@@ -205,5 +205,5 @@
 	}
 
-	return true;
+	return EOK;
 }
 
Index: uspace/drv/bus/usb/usbmid/main.c
===================================================================
--- uspace/drv/bus/usb/usbmid/main.c	(revision db8b7ca0bcbe43621eabcff64193795eab10a1c6)
+++ uspace/drv/bus/usb/usbmid/main.c	(revision 34289ea1cf7a21ae403e997bb418686e5c96f385)
@@ -53,11 +53,5 @@
 	usb_log_info("Taking care of new MID `%s'.\n", ddf_dev_get_name(dev->ddf_dev));
 
-	const bool accept = usbmid_explore_device(dev);
-
-	if (!accept) {
-		return ENOTSUP;
-	}
-
-	return EOK;
+	return usbmid_explore_device(dev);
 }
 
Index: uspace/drv/bus/usb/usbmid/usbmid.h
===================================================================
--- uspace/drv/bus/usb/usbmid/usbmid.h	(revision db8b7ca0bcbe43621eabcff64193795eab10a1c6)
+++ uspace/drv/bus/usb/usbmid/usbmid.h	(revision 34289ea1cf7a21ae403e997bb418686e5c96f385)
@@ -64,5 +64,5 @@
 } usb_mid_t;
 
-bool usbmid_explore_device(usb_device_t *);
+int usbmid_explore_device(usb_device_t *);
 int usbmid_spawn_interface_child(usb_device_t *, usbmid_interface_t *,
     const usb_standard_device_descriptor_t *,
