Hi Sergey Thanks for the review On Wed, 14 Dec 2022 at 01:40, Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx> wrote: > > On (22/12/13 15:35), Ricardo Ribalda wrote: > [..] > > +++ b/drivers/media/usb/uvc/uvcvideo.h > > @@ -559,7 +559,7 @@ struct uvc_device { > > /* Status Interrupt Endpoint */ > > struct usb_host_endpoint *int_ep; > > struct urb *int_urb; > > - u8 *status; > > + u8 status[UVC_MAX_STATUS_SIZE]; > > Can we use `struct uvc_control_status status;` instead of open-coding it? > Seems that this is what the code wants anyway: It can also be a `struct uvc_streaming_status` https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/media/usb/uvc/uvc_status.c#n230 so we always need the casting :( > > struct uvc_control_status *status = > (struct uvc_control_status *)dev->status; > > And then we can drop casts in uvc_status_complete(). -- Ricardo Ribalda