Index: uspace/lib/usbhost/include/usb/host/bus.h
===================================================================
--- uspace/lib/usbhost/include/usb/host/bus.h	(revision 2833bb4cbd3b1df768dce926e9942633366f6b10)
+++ uspace/lib/usbhost/include/usb/host/bus.h	(revision 60d3f359edf3beef1db0f60cb5ade137997c2a1f)
@@ -115,5 +115,4 @@
 	void (*endpoint_unregister)(endpoint_t *);
 	void (*endpoint_destroy)(endpoint_t *);			/**< Optional */
-	void (*endpoint_toggle_reset)(endpoint_t *);		/**< Optional */
 	ssize_t (*endpoint_count_bw) (endpoint_t *, size_t);	/**< Optional */
 	usb_transfer_batch_t *(*batch_create)(endpoint_t *);	/**< Optional */
Index: uspace/lib/usbhost/include/usb/host/endpoint.h
===================================================================
--- uspace/lib/usbhost/include/usb/host/endpoint.h	(revision 2833bb4cbd3b1df768dce926e9942633366f6b10)
+++ uspace/lib/usbhost/include/usb/host/endpoint.h	(revision 60d3f359edf3beef1db0f60cb5ade137997c2a1f)
@@ -61,6 +61,4 @@
 	/** Reserved bandwidth. */
 	size_t bandwidth;
-	/** Value of the toggle bit. Untouched by the library. */
-	unsigned toggle:1;
 	/** The currently active transfer batch. Write using methods, read under guard. */
 	usb_transfer_batch_t *active_batch;
Index: uspace/lib/usbhost/include/usb/host/usb_transfer_batch.h
===================================================================
--- uspace/lib/usbhost/include/usb/host/usb_transfer_batch.h	(revision 2833bb4cbd3b1df768dce926e9942633366f6b10)
+++ uspace/lib/usbhost/include/usb/host/usb_transfer_batch.h	(revision 60d3f359edf3beef1db0f60cb5ade137997c2a1f)
@@ -52,11 +52,4 @@
 typedef struct bus bus_t;
 
-/** How many toggles need to be reset */
-typedef enum {
-	RESET_NONE,
-	RESET_EP,
-	RESET_ALL
-} toggle_reset_mode_t;
-
 /** Structure stores additional data needed for communication with EP */
 typedef struct usb_transfer_batch {
@@ -81,7 +74,4 @@
 		uint64_t packed;
 	} setup;
-
-	/** Resetting the Toggle */
-	toggle_reset_mode_t toggle_reset_mode;
 
 	/** Place for data to send/receive */
Index: uspace/lib/usbhost/include/usb/host/utility.h
===================================================================
--- uspace/lib/usbhost/include/usb/host/utility.h	(revision 2833bb4cbd3b1df768dce926e9942633366f6b10)
+++ uspace/lib/usbhost/include/usb/host/utility.h	(revision 60d3f359edf3beef1db0f60cb5ade137997c2a1f)
@@ -44,6 +44,8 @@
 #include <usb/request.h>
 
+typedef void (*endpoint_reset_toggle_t)(endpoint_t *);
+
 int hc_get_ep0_max_packet_size(uint16_t *, bus_t *, device_t *);
-toggle_reset_mode_t hc_get_request_toggle_reset_mode(const usb_device_request_setup_packet_t *request);
+void hc_reset_toggles(const usb_transfer_batch_t *batch, endpoint_reset_toggle_t);
 int hc_setup_virtual_root_hub(hc_device_t *);
 int hc_get_device_desc(device_t *, usb_standard_device_descriptor_t *);
