ndufresne: so, for v4l drivers: after reading up, it seems like start_streaming and stop_streaming could come at any time? can they be called while the other is still running? do i need to take that into account? cause in my case both can trigger a init_complete(), which iiuc does not wait on it's own completion? can I safely assume that start_streaming and stop_streaming will not be called while either of them is still running/waiting? alien_lappy: I'd need to check the locking again, but it would be very surprising if they are concurrent In short I expect both calls to share the same lock None of these are supposed to block for a long time