[usb transport] Fix wait-race in bulk reader

It was possible for releaseBuffer to be called before the reader had
started waiting. Fixed by using m_lock to make sure the thread has
started waiting before wakeAll can be called.