Index: uspace/drv/usbkbd/descparser.c
===================================================================
--- uspace/drv/usbkbd/descparser.c	(revision 82122f3318b0329d89c50e24444e185cd1fe9adb)
+++ uspace/drv/usbkbd/descparser.c	(revision 1f383dde20a2b1e39baa81fbc44a73c126e508e4)
@@ -222,4 +222,13 @@
 			    * sizeof(usb_standard_hid_class_descriptor_info_t);
 			
+			size_t tmp = (size_t)(pos - data);
+			printf("Parser position: %d, remaining: %d\n",
+			       pos - data, size - tmp);
+			
+			/*
+			 * TODO: this is not good, only 7 bytes remaining,
+			 *       something is wrong!
+			 */
+			
 			hid_i = 0;
 			
@@ -241,4 +250,6 @@
 			uint16_t length = 
 			    actual_iface->class_desc_info[hid_i].length;
+			
+			printf("Saving class-specific descriptor #%d\n", hid_i);
 			
 			actual_iface->class_descs[hid_i] = 
@@ -379,4 +390,5 @@
 {
 	printf("Class-specific descriptor #%d (type: %u)\n", index, type);
+	assert(d != NULL);
 	dump_buffer("", d, size);
 }
@@ -398,4 +410,6 @@
 		dump_standard_hid_descriptor_header(&iface_d->hid_desc);
 		printf("\n");
+//		printf("%d class-specific descriptors\n", 
+//		    iface_d->hid_desc.class_desc_count);
 		for (j = 0; j < iface_d->hid_desc.class_desc_count; ++j) {
 			dump_standard_hid_class_descriptor_info(
Index: uspace/drv/usbkbd/main.c
===================================================================
--- uspace/drv/usbkbd/main.c	(revision 82122f3318b0329d89c50e24444e185cd1fe9adb)
+++ uspace/drv/usbkbd/main.c	(revision 1f383dde20a2b1e39baa81fbc44a73c126e508e4)
@@ -100,4 +100,6 @@
 	free(descriptors);
 	
+	//usbkbd_print_config(kbd_dev->conf);
+	
 	return rc;
 }
