Index: uspace/drv/usbhid/kbd/kbddev.c
===================================================================
--- uspace/drv/usbhid/kbd/kbddev.c	(revision dd10e07b3248fd52a736f47855d7cbeb6b03ae2d)
+++ uspace/drv/usbhid/kbd/kbddev.c	(revision 73ae3373feaf1647fc3c56640205a536981d073e)
@@ -97,5 +97,5 @@
 
 /** Keyboard polling endpoint description for boot protocol class. */
-usb_endpoint_description_t ush_hid_kbd_poll_endpoint_description = {
+usb_endpoint_description_t usb_hid_kbd_poll_endpoint_description = {
 	.transfer_type = USB_TRANSFER_INTERRUPT,
 	.direction = USB_DIRECTION_IN,
@@ -243,6 +243,14 @@
 	sysarg_t method = IPC_GET_IMETHOD(*icall);
 	
-	usb_kbd_t *kbd_dev = (usb_kbd_t *)fun->driver_data;
-	assert(kbd_dev != NULL);
+	usb_hid_dev_t *hid_dev = (usb_hid_dev_t *)fun->driver_data;
+	
+	if (hid_dev == NULL || hid_dev->data == NULL) {
+		async_answer_0(icallid, EINVAL);
+		return;
+	}
+	
+	assert(hid_dev != NULL);
+	assert(hid_dev->data != NULL);
+	usb_kbd_t *kbd_dev = (usb_kbd_t *)hid_dev->data;
 
 	if (method == IPC_M_CONNECT_TO_ME) {
Index: uspace/drv/usbhid/kbd/kbddev.h
===================================================================
--- uspace/drv/usbhid/kbd/kbddev.h	(revision dd10e07b3248fd52a736f47855d7cbeb6b03ae2d)
+++ uspace/drv/usbhid/kbd/kbddev.h	(revision 73ae3373feaf1647fc3c56640205a536981d073e)
@@ -131,5 +131,5 @@
 //ddf_dev_ops_t keyboard_ops;
 
-usb_endpoint_description_t ush_hid_kbd_poll_endpoint_description;
+usb_endpoint_description_t usb_hid_kbd_poll_endpoint_description;
 
 const char *HID_KBD_FUN_NAME;
