Index: uspace/drv/bus/usb/ohci/ohci_regs.h
===================================================================
--- uspace/drv/bus/usb/ohci/ohci_regs.h	(revision 062b25f164f43d28d32279ff4bc03f8d7d0feace)
+++ uspace/drv/bus/usb/ohci/ohci_regs.h	(revision 01bbbb214b5586742b81fb159fe769b0c167dc48)
@@ -46,10 +46,10 @@
 
 	volatile uint32_t control;
-#define C_CSBR_MASK (0x3) /* Control-bulk service ratio */
-#define C_CSBR_1_1  (0x0)
-#define C_CSBR_1_2  (0x1)
-#define C_CSBR_1_3  (0x2)
-#define C_CSBR_1_4  (0x3)
-#define C_CSBR_SHIFT (0)
+#define C_CBSR_MASK (0x3) /* Control-bulk service ratio */
+#define C_CBSR_1_1  (0x0)
+#define C_CBSR_1_2  (0x1)
+#define C_CBSR_1_3  (0x2)
+#define C_CBSR_1_4  (0x3)
+#define C_CBSR_SHIFT (0)
 
 #define C_PLE (1 << 2)   /* Periodic list enable */
Index: uspace/drv/bus/usb/ohci/root_hub.c
===================================================================
--- uspace/drv/bus/usb/ohci/root_hub.c	(revision 062b25f164f43d28d32279ff4bc03f8d7d0feace)
+++ uspace/drv/bus/usb/ohci/root_hub.c	(revision 01bbbb214b5586742b81fb159fe769b0c167dc48)
@@ -74,5 +74,5 @@
 	.interface_count = 1,
 	.length = sizeof (usb_standard_configuration_descriptor_t),
-	.max_power = 100,
+	.max_power = 0, /* root hubs don't need no power */
 	.str_configuration = 0,
 };
@@ -238,8 +238,4 @@
 	}
 
-	int ret = rh_init_descriptors(instance);
-	if (ret != EOK) {
-		return ret;
-	}
 	/* Don't forget the hub status bit and round up */
 	instance->interrupt_mask_size = (instance->port_count + 1 + 8) / 8;
@@ -248,6 +244,11 @@
 	instance->unfinished_interrupt_transfer = NULL;
 
-	/* Set port power mode to no-power-switching. */
+	/* Set port power mode to no power-switching. (always on) */
 	instance->registers->rh_desc_a |= RHDA_NPS_FLAG;
+
+	int ret = rh_init_descriptors(instance);
+	if (ret != EOK) {
+		return ret;
+	}
 
 	usb_log_info("Root hub (%zu ports) initialized.\n",
