linux/drivers/media
Ricardo Ribalda aac91ae06c media: uvcvideo: Fix deferred probing error
commit 387e893930 upstream.

uvc_gpio_parse() can return -EPROBE_DEFER when the GPIOs it depends on
have not yet been probed. This return code should be propagated to the
caller of uvc_probe() to ensure that probing is retried when the required
GPIOs become available.

Currently, this error code is incorrectly converted to -ENODEV,
causing some internal cameras to be ignored.

This commit fixes this issue by propagating the -EPROBE_DEFER error.

Cc: stable@vger.kernel.org
Fixes: 2886477ff9 ("media: uvcvideo: Implement UVC_EXT_GPIO_UNIT")
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Message-ID: <20250313-uvc-eprobedefer-v3-1-a1d312708eef@chromium.org>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-06-27 11:11:18 +01:00
..
cec media: pulse8-cec: fix data timestamp at pulse8_setup() 2024-10-18 10:43:03 +02:00
common media: videobuf2: use sgtable-based scatterlist wrappers 2025-06-27 11:11:18 +01:00
dvb-core media: dvbdev: fix the logic when DVB_DYNAMIC_MINORS is not set 2024-11-06 22:32:52 +01:00
dvb-frontends objtool, media: dib8000: Prevent divide-by-zero in dib8000_set_dds() 2025-04-10 14:39:26 +02:00
firewire media: firewire: firedtv-avc.c: replace BUG with proper, error return 2023-08-10 07:58:37 +02:00
i2c media: i2c: imx335: Fix frame size enumeration 2025-06-27 11:11:17 +01:00
mc [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
mmc media: mmc: siano: simplify module initialization 2024-04-08 13:48:19 +02:00
pci media: ipu6: Remove workaround for Meteor Lake ES2 2025-06-27 11:11:17 +01:00
platform media: imx-jpeg: Cleanup after an allocation error 2025-06-27 11:11:18 +01:00
radio media: wl128x: Fix atomicity violation in fmc_send_cmd() 2024-12-05 14:02:56 +01:00
rc media: streamzap: prevent processing IR data on URB failure 2025-04-20 10:15:35 +02:00
spi media: gs1662: remove unused struct 'gs_reg_fmt_custom' 2024-05-31 13:51:16 +02:00
test-drivers media: vivid: Change the siize of the composing 2025-06-27 11:11:18 +01:00
tuners move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
usb media: uvcvideo: Fix deferred probing error 2025-06-27 11:11:18 +01:00
v4l2-core media: v4l2-dev: fix error handling in __video_register_device() 2025-06-27 11:11:17 +01:00
Kconfig media: Kconfig: Make DVB_CORE=m possible when MEDIA_SUPPORT=y 2022-12-07 17:58:46 +01:00
Makefile media: Makefiles: remove extra spaces 2022-03-12 16:59:52 +01:00