Changes in uspace/lib/usb/src/host/endpoint.c [4fd3faf:506d330] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usb/src/host/endpoint.c
r4fd3faf r506d330 34 34 */ 35 35 36 #include <assert.h>37 36 #include <errno.h> 38 37 #include <usb/host/endpoint.h> … … 50 49 instance->max_packet_size = max_packet_size; 51 50 instance->toggle = 0; 52 instance->active = false;53 fibril_mutex_initialize(&instance->guard);54 fibril_condvar_initialize(&instance->avail);55 51 link_initialize(&instance->same_device_eps); 56 52 return EOK; … … 60 56 { 61 57 assert(instance); 62 assert(!instance->active);63 58 list_remove(&instance->same_device_eps); 64 59 free(instance); 65 }66 /*----------------------------------------------------------------------------*/67 void endpoint_use(endpoint_t *instance)68 {69 assert(instance);70 fibril_mutex_lock(&instance->guard);71 while (instance->active)72 fibril_condvar_wait(&instance->avail, &instance->guard);73 instance->active = true;74 fibril_mutex_unlock(&instance->guard);75 }76 /*----------------------------------------------------------------------------*/77 void endpoint_release(endpoint_t *instance)78 {79 assert(instance);80 fibril_mutex_lock(&instance->guard);81 instance->active = false;82 fibril_mutex_unlock(&instance->guard);83 fibril_condvar_signal(&instance->avail);84 60 } 85 61 /*----------------------------------------------------------------------------*/
Note:
See TracChangeset
for help on using the changeset viewer.