Index: uspace/drv/bus/usb/usbhub/usbhub.c
===================================================================
--- uspace/drv/bus/usb/usbhub/usbhub.c	(revision 816335cd9d1194df5ee9bf8ddbd84d42d45bffaf)
+++ uspace/drv/bus/usb/usbhub/usbhub.c	(revision c68c713c77ee77c0b617a6b9e40e9c3552ac4639)
@@ -236,4 +236,5 @@
 	/* It is an error condition if we didn't receive enough data */
 	if (change_bitmap_size == 0) {
+		usb_log_warning("(%p) USB hub stopped polling", hub);
 		return false;
 	}
@@ -253,4 +254,5 @@
 		}
 	}
+	usb_log_warning("(%p) USB hub continued polling", hub);
 	return true;
 }
Index: uspace/drv/bus/usb/xhci/rh.c
===================================================================
--- uspace/drv/bus/usb/xhci/rh.c	(revision 816335cd9d1194df5ee9bf8ddbd84d42d45bffaf)
+++ uspace/drv/bus/usb/xhci/rh.c	(revision c68c713c77ee77c0b617a6b9e40e9c3552ac4639)
@@ -61,6 +61,5 @@
 	header->length = sizeof(usb_hub_descriptor_header_t);
 	header->descriptor_type = USB_DESCTYPE_HUB;
-	/* FIXME: Use hcs_params1 and cap to 0x7F */
-	header->port_count = 0x7F;
+	header->port_count = XHCI_MAX_PORTS;
 	header->characteristics =
 		    HUB_CHAR_NO_POWER_SWITCH_FLAG | HUB_CHAR_NO_OC_FLAG;
@@ -68,5 +67,5 @@
 	header->max_current = 0;
 
-	return virthub_base_init(&rh->base, "xhci-rh", &ops, rh, NULL,
+	return virthub_base_init(&rh->base, "xhci", &ops, rh, NULL,
 	    header, HUB_STATUS_CHANGE_PIPE);
 }
@@ -347,6 +346,5 @@
 	assert(hub);
 
-	const uint16_t ports = 255; /* FIXME: Fetch this from somewhere. */
-	if (!setup_packet->index || setup_packet->index > ports) {
+	if (!setup_packet->index || setup_packet->index > XHCI_MAX_PORTS) {
 		return ESTALL;
 	}
@@ -431,9 +429,6 @@
 		return ESTALL;
 
-	/* TODO: Set this based on the received event TRBs. */
 	memset(buffer, 0, 16);
 	*actual_size = 16;
-
-	/* TODO: Set to EOK if something happened. */
 	return ENAK;
 }
