diff --git a/server/src/bin/lesavka-uvc.rs b/server/src/bin/lesavka-uvc.rs index 4408724..8c26ae3 100644 --- a/server/src/bin/lesavka-uvc.rs +++ b/server/src/bin/lesavka-uvc.rs @@ -317,6 +317,9 @@ fn handle_setup( if !is_in && req.b_request == UVC_SET_CUR { *pending = Some(PendingRequest { interface, selector }); + let len = req.w_length as usize; + let payload = vec![0u8; len.min(UVC_DATA_SIZE)]; + let _ = send_response(fd, uvc_send_response, &payload); return; } @@ -344,12 +347,10 @@ fn handle_data( data: UvcRequestData, ) { let Some(p) = pending.take() else { - let _ = send_response(fd, uvc_send_response, &[]); return; }; if data.length < 0 { - let _ = send_stall(fd, uvc_send_response); return; } @@ -366,8 +367,6 @@ fn handle_data( state.commit = sanitized; } } - - let _ = send_response(fd, uvc_send_response, &[]); } fn build_in_response(