Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1789692

Summary: WARNING: CPU: 10 PID: 13871 at drivers/media/v4l2-core/v4l2-ioctl.c:1297 v4l_fill_fmtdesc+0xe63/0x1210 [videodev]
Product: Red Hat Enterprise Linux 8 Reporter: Yuki Okada <yuokada>
Component: kernelAssignee: Dean Nelson <dnelson>
kernel sub component: V4L QA Contact: Desktop QE <desktop-qa-list>
Status: CLOSED CURRENTRELEASE Docs Contact:
Severity: unspecified    
Priority: unspecified CC: csoriano, dnelson, hdegoede, hpa, jarod, kazen, redhat, sbarcomb, yzheng
Version: 8.1Flags: pm-rhel: mirror+
Target Milestone: rc   
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-12-07 18:24:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
output of "lsusb -v" none

Description Yuki Okada 2020-01-10 07:30:48 UTC
Description of problem:
WARNING by videodev driver appears intermittently. pipewire is shown as a command.

## dmesg ##
[ 1398.405630] ------------[ cut here ]------------
[ 1398.405631] Unknown pixelformat 0x00000000
[ 1398.405659] WARNING: CPU: 10 PID: 13871 at drivers/media/v4l2-core/v4l2-ioctl.c:1297 v4l_fill_fmtdesc+0xe63/0x1210 [videodev]
[ 1398.405660] Modules linked in: ext4 mbcache jbd2 fuse ccm xt_CHECKSUM ipt_MASQUERADE xt_conntrack ipt_REJECT nf_nat_tftp nft_objref nf_conntrack_tftp nf_log_ipv4 nf_log_common nft_limit nft_counter xt_LOG xt_limit nf_tables_set nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject tun nft_ct bridge stp llc nft_chain_nat_ipv6 nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 nft_chain_route_ipv6 nft_chain_nat_ipv4 nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nft_chain_route_ipv4 nf_conntrack ip6_tables ip_tables nft_compat ip_set nf_tables nfnetlink bnep sunrpc vfat fat iTCO_wdt arc4 mei_wdt iTCO_vendor_support intel_rapl intel_pmc_core sof_pci_dev snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda snd_sof_intel_byt snd_sof_intel_ipc snd_sof
[ 1398.405676]  snd_sof_xtensa_dsp snd_soc_skl x86_pkg_temp_thermal intel_powerclamp coretemp snd_soc_skl_ipc snd_hda_ext_core snd_soc_sst_dsp snd_hda_codec_hdmi kvm_intel snd_soc_sst_ipc iwlmvm snd_soc_acpi_intel_match snd_soc_acpi kvm mac80211 irqbypass snd_soc_core snd_hda_codec_generic crct10dif_pclmul crc32_pclmul snd_compress snd_hda_intel ghash_clmulni_intel snd_hda_codec intel_cstate intel_uncore intel_rapl_perf iwlwifi pcspkr snd_hda_core uvcvideo snd_hwdep btusb wmi_bmof intel_wmi_thunderbolt snd_seq videobuf2_vmalloc btrtl videobuf2_memops videobuf2_v4l2 btbcm videobuf2_common btintel snd_seq_device rtsx_pci_ms cfg80211 bluetooth i2c_i801 memstick videodev snd_pcm joydev thinkpad_acpi ecdh_generic mei_me snd_timer i2c_designware_platform ledtrig_audio processor_thermal_device i2c_designware_core
[ 1398.405690]  idma64 mei intel_soc_dts_iosf intel_pch_thermal snd soundcore rfkill int3403_thermal int340x_thermal_zone int3400_thermal acpi_thermal_rel acpi_pad xfs libcrc32c mmc_block rtsx_pci_sdmmc mmc_core nouveau i915 mxm_wmi ttm intel_gtt i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm e1000e crc32c_intel serio_raw nvme rtsx_pci nvme_core wmi video pinctrl_cannonlake pinctrl_intel dm_mirror dm_region_hash dm_log dm_mod
[ 1398.405702] CPU: 10 PID: 13871 Comm: pipewire Kdump: loaded Not tainted 4.18.0-147.0.3.el8_1.x86_64 #1
[ 1398.405702] Hardware name: LENOVO 20QTCTO1WW/20QTCTO1WW, BIOS N2OET40W (1.27 ) 10/17/2019
[ 1398.405705] RIP: 0010:v4l_fill_fmtdesc+0xe63/0x1210 [videodev]
[ 1398.405706] Code: c6 7a 2f bb c0 e9 4f f2 ff ff 48 c7 c6 23 2b bb c0 3d 4d 54 32 31 0f 84 3d f2 ff ff 89 c6 48 c7 c7 da 37 bb c0 e8 87 2b 71 de <0f> 0b 80 7d 0c 00 0f 85 3e f2 ff ff 8b 45 2c 48 c7 c1 e8 2a bb c0
[ 1398.405706] RSP: 0018:ffffa49dc3a27cb8 EFLAGS: 00010286
[ 1398.405707] RAX: 0000000000000000 RBX: ffffa49dc3a27dc0 RCX: 0000000000000006
[ 1398.405707] RDX: 0000000000000007 RSI: 0000000000000096 RDI: ffff8fd41c496a00
[ 1398.405708] RBP: ffffa49dc3a27dc0 R08: 0000000000000536 R09: 0000000000000004
[ 1398.405708] R10: 0000000000000000 R11: 0000000000000001 R12: ffffffffc0ce1900
[ 1398.405708] R13: ffff8fd32dbf5880 R14: 0000000000000000 R15: ffff8fd3f16b9300
[ 1398.405709] FS:  00007fcb14306b80(0000) GS:ffff8fd41c480000(0000) knlGS:0000000000000000
[ 1398.405709] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 1398.405710] CR2: 000055ec9d9b7038 CR3: 00000007619c2006 CR4: 00000000003606e0
[ 1398.405710] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 1398.405711] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 1398.405711] Call Trace:
[ 1398.405715]  v4l_enum_fmt+0x82/0x140 [videodev]
[ 1398.405718]  __video_do_ioctl+0x139/0x300 [videodev]
[ 1398.405720]  ? filename_lookup.part.64+0xe0/0x170
[ 1398.405722]  video_usercopy+0x250/0x5e0 [videodev]
[ 1398.405724]  ? v4l_fill_fmtdesc+0x1210/0x1210 [videodev]
[ 1398.405726]  ? selinux_file_ioctl+0x161/0x200
[ 1398.405728]  v4l2_ioctl+0x41/0x50 [videodev]
[ 1398.405730]  do_vfs_ioctl+0xa4/0x630
[ 1398.405731]  ksys_ioctl+0x60/0x90
[ 1398.405732]  __x64_sys_ioctl+0x16/0x20
[ 1398.405733]  do_syscall_64+0x5b/0x1b0
[ 1398.405735]  entry_SYSCALL_64_after_hwframe+0x65/0xca
[ 1398.405736] RIP: 0033:0x7fcb139cfb2b
[ 1398.405737] Code: 0f 1e fa 48 8b 05 5d a3 2c 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 2d a3 2c 00 f7 d8 64 89 01 48
[ 1398.405737] RSP: 002b:00007ffca8e2f7c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[ 1398.405738] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fcb139cfb2b
[ 1398.405738] RDX: 000055ec9d9942b4 RSI: ffffffffc0405602 RDI: 000000000000001e
[ 1398.405738] RBP: ffffffffc0405602 R08: 0000000000000000 R09: 0000000000000000
[ 1398.405739] R10: 0000000000000000 R11: 0000000000000246 R12: 000055ec9d9942b4
[ 1398.405739] R13: 000000000000001e R14: 00007ffca8e306bc R15: 000055ec9d993de0
[ 1398.405740] ---[ end trace fc2f103d351dc6c6 ]---

This warning appears because the value of pixelformat is 0x00000000.

Red Hat Code Browser | Red Hat Customer Portal Labs
https://access.redhat.com/labs/rhcb/RHEL-8.1/kernel-4.18.0-147.0.3.el8/sources/raw/drivers/media/v4l2-core/v4l2-ioctl.c

static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
{
	const unsigned sz = sizeof(fmt->description);
	const char *descr = NULL;
	u32 flags = 0;

	/*
	 * We depart from the normal coding style here since the descriptions
	 * should be aligned so it is easy to see which descriptions will be
	 * longer than 31 characters (the max length for a description).
	 * And frankly, this is easier to read anyway.
	 *
	 * Note that gcc will use O(log N) comparisons to find the right case.
	 */
	switch (fmt->pixelformat) {
	/* Max description length mask:	descr = "0123456789012345678901234567890" */
	case V4L2_PIX_FMT_RGB332:	descr = "8-bit RGB 3-3-2"; break;

[...]

	case V4L2_META_FMT_UVC:		descr = "UVC payload header metadata"; break;

	default:
		/* Compressed formats */
		flags = V4L2_FMT_FLAG_COMPRESSED;
		switch (fmt->pixelformat) {
		/* Max description length mask:	descr = "0123456789012345678901234567890" */
		case V4L2_PIX_FMT_MJPEG:	descr = "Motion-JPEG"; break;

[...]

		case V4L2_PIX_FMT_MT21C:	descr = "Mediatek Compressed Format"; break;
		default:
			WARN(1, "Unknown pixelformat 0x%08x\n", fmt->pixelformat);  <<<<<----------
			if (fmt->description[0])
				return;
			flags = 0;
			snprintf(fmt->description, sz, "%c%c%c%c%s",
					(char)(fmt->pixelformat & 0x7f),
					(char)((fmt->pixelformat >> 8) & 0x7f),
					(char)((fmt->pixelformat >> 16) & 0x7f),
					(char)((fmt->pixelformat >> 24) & 0x7f),
					(fmt->pixelformat & (1 << 31)) ? "-BE" : "");
			break;
		}
	}

	if (descr)
		WARN_ON(strlcpy(fmt->description, descr, sz) >= sz);
	fmt->flags = flags;
}        

- Customer uses ThinkPad P1 Gen 2 which has webcam devices.

## sos_commands/usb/lsusb_-t ##
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 10000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
    |__ Port 2: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 8: Dev 3, If 3, Class=Video, Driver=uvcvideo, 480M
    |__ Port 8: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 8: Dev 3, If 2, Class=Video, Driver=uvcvideo, 480M
    |__ Port 8: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 9: Dev 4, If 0, Class=Vendor Specific Class, Driver=, 12M
    |__ Port 11: Dev 5, If 0, Class=Chip/SmartCard, Driver=usbfs, 12M

- In journal log, uvcvideo driver shows "Unknown video format" message.

## sos_commands/logs/journalctl_--no-pager_--catalog_--boot ##
Dec 24 19:42:02 localhost.localdomain kernel: uvcvideo: Found UVC 1.50 device Integrated Camera (13d3:56ba)
Dec 24 19:42:02 localhost.localdomain kernel: input: Integrated Camera: Integrated C as /devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0/input/input13
Dec 24 19:42:02 localhost.localdomain kernel: uvcvideo: Unknown video format 00000032-0002-0010-8000-00aa00389b71 <<<<<----------
Dec 24 19:42:02 localhost.localdomain kernel: uvcvideo: Found UVC 1.50 device Integrated Camera (13d3:56ba)
Dec 24 19:42:02 localhost.localdomain kernel: uvcvideo: Unable to create debugfs 1-3 directory.
Dec 24 19:42:02 localhost.localdomain kernel: input: Integrated Camera: Integrated I as /devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.2/input/input14
Dec 24 19:42:02 localhost.localdomain kernel: usbcore: registered new interface driver uvcvideo
Dec 24 19:42:02 localhost.localdomain kernel: USB Video Class driver (1.1.1)

- The "Unknown pixelformat" warning and subsequent messages were reproduced at customer's site when taking pictures or videos using GNOME Cheese (Webcam app).
But pictures or videos were taken successfully, so this warning might be harmless.

Version-Release number of selected component (if applicable):
kernel-core-4.18.0-147.0.3.el8_1

How reproducible:
sometimes

Steps to Reproduce:
might be reproducible if taking a picture using GNOME Cheese on ThinkPad P1 Gen 2

Actual results:
Warning appears

Expected results:
No warning

Additional info:
Similar issue is discussed in following bugzilla or mailing list.

1605167 – warning on start-up taints kernel
https://bugzilla.redhat.com/show_bug.cgi?id=1605167
Kernel error "Unknown pixelformat 0x00000000" occurs when I start capture video
https://www.mail-archive.com/linux-media@vger.kernel.org/msg142506.html

Comment 1 Yuki Okada 2020-01-10 07:46:50 UTC
Created attachment 1651195 [details]
output of "lsusb -v"

Comment 4 Hans de Goede 2020-05-04 10:31:43 UTC
The reported warning is in itself harmless, it is related to the camera supporting an IR mode for Windows Hello.

The missing GUID from the:

uvcvideo: Unknown video format 00000032-0002-0010-8000-00aa00389b71

Message has been added upstream a while ago, we should probably cherry-pick the upstream kernel commit to silence this ugly warning. The upstream commit fixing this is:

557a5c7fe650 ("media: uvcvideo: Add KSMedia 8-bit IR format support")

Comment 13 Dean Nelson 2022-12-07 18:24:52 UTC
(In reply to Hans de Goede from comment #4)
> The reported warning is in itself harmless, it is related to the camera
> supporting an IR mode for Windows Hello.
> 
> The missing GUID from the:
> 
> uvcvideo: Unknown video format 00000032-0002-0010-8000-00aa00389b71
> 
> Message has been added upstream a while ago, we should probably cherry-pick
> the upstream kernel commit to silence this ugly warning. The upstream commit
> fixing this is:
> 
> 557a5c7fe650 ("media: uvcvideo: Add KSMedia 8-bit IR format support")

Commit 557a5c7fe650 was backported into RHEL-8.3. Any release newer than that will also have it.

Closing this BZ as the fix is available in a current release.