From 86656054c5cfda5a66677c4856c1c720bb05f750 Mon Sep 17 00:00:00 2001 From: Brad Stein Date: Wed, 7 Jan 2026 03:24:17 -0300 Subject: [PATCH] uvc: ack SET_CUR then send status --- server/src/bin/lesavka-uvc.rs | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/server/src/bin/lesavka-uvc.rs b/server/src/bin/lesavka-uvc.rs index e53e863..d21c1b5 100644 --- a/server/src/bin/lesavka-uvc.rs +++ b/server/src/bin/lesavka-uvc.rs @@ -378,15 +378,18 @@ fn handle_setup( } let interface = map_interface(interface_raw, selector, interfaces, debug); - if !is_in && req.b_request == UVC_SET_CUR { - if interface != interfaces.streaming { - let _ = send_stall(fd, uvc_send_response); - return; - } - *pending = Some(PendingRequest { interface, selector }); - if debug { - eprintln!( - "[lesavka-uvc] SET_CUR queued len={} iface={} sel={}", + if !is_in && req.b_request == UVC_SET_CUR { + if interface != interfaces.streaming { + let _ = send_stall(fd, uvc_send_response); + return; + } + *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); + if debug { + eprintln!( + "[lesavka-uvc] SET_CUR queued len={} iface={} sel={}", req.w_length, interface, selector ); }