Index: uspace/app/usbinfo/dev.c
===================================================================
--- uspace/app/usbinfo/dev.c	(revision 969585f91e912d72b71cfd6d44243c9504d8d795)
+++ uspace/app/usbinfo/dev.c	(revision 8efafda1228de650eb0457178bb7488dcd1ef1ca)
@@ -50,4 +50,5 @@
 
 	int rc;
+	bool transfer_started = false;
 
 	rc = usb_device_connection_initialize(&dev->wire, hc_handle, dev_addr);
@@ -76,11 +77,12 @@
 	}
 
-	rc = usb_pipe_start_session(&dev->ctrl_pipe);
+	rc = usb_pipe_start_long_transfer(&dev->ctrl_pipe);
 	if (rc != EOK) {
 		fprintf(stderr,
-		    NAME ": failed to start session on control pipe: %s.\n",
+		    NAME ": failed to start transfer on control pipe: %s.\n",
 		    str_error(rc));
 		goto leave;
 	}
+	transfer_started = true;
 
 	rc = usb_request_get_device_descriptor(&dev->ctrl_pipe,
@@ -107,6 +109,6 @@
 
 leave:
-	if (usb_pipe_is_session_started(&dev->ctrl_pipe)) {
-		usb_pipe_end_session(&dev->ctrl_pipe);
+	if (transfer_started) {
+		usb_pipe_end_long_transfer(&dev->ctrl_pipe);
 	}
 
@@ -118,5 +120,5 @@
 void destroy_device(usbinfo_device_t *dev)
 {
-	usb_pipe_end_session(&dev->ctrl_pipe);
+	usb_pipe_end_long_transfer(&dev->ctrl_pipe);
 	free(dev);
 }
