Index: uspace/lib/usbhost/include/usb/host/bus.h
===================================================================
--- uspace/lib/usbhost/include/usb/host/bus.h	(revision 2b3547888594843410a5d82a14955a508d74aa1f)
+++ uspace/lib/usbhost/include/usb/host/bus.h	(revision 5bc825040f32e2d34fc1a60dd0dbe3965ffda3d9)
@@ -82,4 +82,5 @@
 	int (*remove_device)(bus_t *, hcd_t *, device_t *);
 
+	/* The following operations are protected by a bus guard. */
 	endpoint_t *(*create_endpoint)(bus_t *);
 	int (*register_endpoint)(bus_t *, endpoint_t *, const usb_endpoint_desc_t *);
Index: uspace/lib/usbhost/src/bus.c
===================================================================
--- uspace/lib/usbhost/src/bus.c	(revision 2b3547888594843410a5d82a14955a508d74aa1f)
+++ uspace/lib/usbhost/src/bus.c	(revision 5bc825040f32e2d34fc1a60dd0dbe3965ffda3d9)
@@ -87,8 +87,5 @@
 		return ENOTSUP;
 
-	fibril_mutex_lock(&bus->guard);
-	const int r = bus->ops.enumerate_device(bus, hcd, dev);
-	fibril_mutex_unlock(&bus->guard);
-	return r;
+	return bus->ops.enumerate_device(bus, hcd, dev);
 }
 
@@ -101,8 +98,5 @@
 		return ENOTSUP;
 
-	fibril_mutex_lock(&bus->guard);
-	const int r = bus->ops.remove_device(bus, hcd, dev);
-	fibril_mutex_unlock(&bus->guard);
-	return r;
+	return bus->ops.remove_device(bus, hcd, dev);
 }
 
