Message ID | 20221205145807.1099062-1-dan.scally@ideasonboard.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | usb: gadget: uvc: Rename bmInterfaceFlags -> bmInterlaceFlags | expand |
On Mon, Dec 05, 2022 at 02:58:07PM +0000, Daniel Scally wrote: > In the specification documents for the Uncompressed and MJPEG USB > Video Payloads, the field name is bmInterlaceFlags - it has been > misnamed within the kernel. > > Although renaming the field does break the kernel's interface to > userspace it should be low-risk in this instance. The field is read > only and hardcoded to 0, so there was never any value in anyone > reading it. A search of our uvc-gadget application and all the major > forks that I could find for it did not reveal any users either. Note, if this does break someone, we will have to rename it back, ok?
On Mon, Dec 05, 2022 at 02:58:07PM +0000, Daniel Scally wrote: > In the specification documents for the Uncompressed and MJPEG USB > Video Payloads, the field name is bmInterlaceFlags - it has been > misnamed within the kernel. > > Although renaming the field does break the kernel's interface to > userspace it should be low-risk in this instance. The field is read > only and hardcoded to 0, so there was never any value in anyone > reading it. A search of our uvc-gadget application and all the major > forks that I could find for it did not reveal any users either. > > Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com> What commit id does this fix?
Hi Greg On 05/12/2022 15:01, Greg KH wrote: > On Mon, Dec 05, 2022 at 02:58:07PM +0000, Daniel Scally wrote: >> In the specification documents for the Uncompressed and MJPEG USB >> Video Payloads, the field name is bmInterlaceFlags - it has been >> misnamed within the kernel. >> >> Although renaming the field does break the kernel's interface to >> userspace it should be low-risk in this instance. The field is read >> only and hardcoded to 0, so there was never any value in anyone >> reading it. A search of our uvc-gadget application and all the major >> forks that I could find for it did not reveal any users either. > Note, if this does break someone, we will have to rename it back, ok? > Sounds reasonable to me. The patch Fixes: cdda479f15cd ("USB gadget: video class function driver")
diff --git a/drivers/usb/gadget/function/uvc_configfs.c b/drivers/usb/gadget/function/uvc_configfs.c index 644d87eee164..fbeac2d765c0 100644 --- a/drivers/usb/gadget/function/uvc_configfs.c +++ b/drivers/usb/gadget/function/uvc_configfs.c @@ -1565,7 +1565,7 @@ UVCG_UNCOMPRESSED_ATTR(b_bits_per_pixel, bBitsPerPixel, 8); UVCG_UNCOMPRESSED_ATTR(b_default_frame_index, bDefaultFrameIndex, 8); UVCG_UNCOMPRESSED_ATTR_RO(b_aspect_ratio_x, bAspectRatioX, 8); UVCG_UNCOMPRESSED_ATTR_RO(b_aspect_ratio_y, bAspectRatioY, 8); -UVCG_UNCOMPRESSED_ATTR_RO(bm_interface_flags, bmInterfaceFlags, 8); +UVCG_UNCOMPRESSED_ATTR_RO(bm_interlace_flags, bmInterlaceFlags, 8); #undef UVCG_UNCOMPRESSED_ATTR #undef UVCG_UNCOMPRESSED_ATTR_RO @@ -1594,7 +1594,7 @@ static struct configfs_attribute *uvcg_uncompressed_attrs[] = { &uvcg_uncompressed_attr_b_default_frame_index, &uvcg_uncompressed_attr_b_aspect_ratio_x, &uvcg_uncompressed_attr_b_aspect_ratio_y, - &uvcg_uncompressed_attr_bm_interface_flags, + &uvcg_uncompressed_attr_bm_interlace_flags, &uvcg_uncompressed_attr_bma_controls, NULL, }; @@ -1627,7 +1627,7 @@ static struct config_group *uvcg_uncompressed_make(struct config_group *group, h->desc.bDefaultFrameIndex = 1; h->desc.bAspectRatioX = 0; h->desc.bAspectRatioY = 0; - h->desc.bmInterfaceFlags = 0; + h->desc.bmInterlaceFlags = 0; h->desc.bCopyProtect = 0; INIT_LIST_HEAD(&h->fmt.frames); @@ -1753,7 +1753,7 @@ UVCG_MJPEG_ATTR(b_default_frame_index, bDefaultFrameIndex, 8); UVCG_MJPEG_ATTR_RO(bm_flags, bmFlags, 8); UVCG_MJPEG_ATTR_RO(b_aspect_ratio_x, bAspectRatioX, 8); UVCG_MJPEG_ATTR_RO(b_aspect_ratio_y, bAspectRatioY, 8); -UVCG_MJPEG_ATTR_RO(bm_interface_flags, bmInterfaceFlags, 8); +UVCG_MJPEG_ATTR_RO(bm_interlace_flags, bmInterlaceFlags, 8); #undef UVCG_MJPEG_ATTR #undef UVCG_MJPEG_ATTR_RO @@ -1781,7 +1781,7 @@ static struct configfs_attribute *uvcg_mjpeg_attrs[] = { &uvcg_mjpeg_attr_bm_flags, &uvcg_mjpeg_attr_b_aspect_ratio_x, &uvcg_mjpeg_attr_b_aspect_ratio_y, - &uvcg_mjpeg_attr_bm_interface_flags, + &uvcg_mjpeg_attr_bm_interlace_flags, &uvcg_mjpeg_attr_bma_controls, NULL, }; @@ -1808,7 +1808,7 @@ static struct config_group *uvcg_mjpeg_make(struct config_group *group, h->desc.bDefaultFrameIndex = 1; h->desc.bAspectRatioX = 0; h->desc.bAspectRatioY = 0; - h->desc.bmInterfaceFlags = 0; + h->desc.bmInterlaceFlags = 0; h->desc.bCopyProtect = 0; INIT_LIST_HEAD(&h->fmt.frames); diff --git a/include/uapi/linux/usb/video.h b/include/uapi/linux/usb/video.h index bfdae12cdacf..6e8e572c2980 100644 --- a/include/uapi/linux/usb/video.h +++ b/include/uapi/linux/usb/video.h @@ -466,7 +466,7 @@ struct uvc_format_uncompressed { __u8 bDefaultFrameIndex; __u8 bAspectRatioX; __u8 bAspectRatioY; - __u8 bmInterfaceFlags; + __u8 bmInterlaceFlags; __u8 bCopyProtect; } __attribute__((__packed__)); @@ -522,7 +522,7 @@ struct uvc_format_mjpeg { __u8 bDefaultFrameIndex; __u8 bAspectRatioX; __u8 bAspectRatioY; - __u8 bmInterfaceFlags; + __u8 bmInterlaceFlags; __u8 bCopyProtect; } __attribute__((__packed__));
In the specification documents for the Uncompressed and MJPEG USB Video Payloads, the field name is bmInterlaceFlags - it has been misnamed within the kernel. Although renaming the field does break the kernel's interface to userspace it should be low-risk in this instance. The field is read only and hardcoded to 0, so there was never any value in anyone reading it. A search of our uvc-gadget application and all the major forks that I could find for it did not reveal any users either. Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com> --- drivers/usb/gadget/function/uvc_configfs.c | 12 ++++++------ include/uapi/linux/usb/video.h | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-)