On Fri Aug 28 15:59:50 2026 +0200, Andi Shyti wrote:
> If cx231xx_init_v4l2() fails the probe currently jumps to
> err_init, which only unregisters the V4L2 device. The analog
> devices and I2C resources are left registered while the driver
> state can be released.
> 
> A subsequent driver bind attempts to create the same I2C mux
> channel links and triggers a warning when the existing
> "channel-0" link is encountered. The remaining devices may also
> access released driver state. This produces the following warning
> 
>     can't create symlink to channel 0
>     WARNING: drivers/i2c/i2c-mux.c:403 at i2c_mux_add_adapter+0xcd8/0xeb0
>     Call Trace:
>      i2c_mux_add_adapter+0xcdc/0xeb0
>      cx231xx_dev_init+0x2fb/0x1260
>      cx231xx_usb_probe+0xc48/0x2140
>      usb_probe_interface+0x657/0xc70
>      ...
> 
> Jump to err_video_alt instead, which performs the full device
> cleanup before unregistering the V4L2 device.
> 
> Reported-by: Farhad Alemi <[email protected]>
> Closes: 
> https://github.com/farhad-alemi/public_bug_reports/tree/main/185-warning-in-i2c-mux-add-adapter/
> Fixes: 4d2a7d3509f5 ("[media] cx231xx: move analog init code to a separate 
> function")
> Signed-off-by: Andi Shyti <[email protected]>
> Cc: <[email protected]> # v3.17+
> Signed-off-by: Hans Verkuil <[email protected]>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/usb/cx231xx/cx231xx-cards.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---

diff --git a/drivers/media/usb/cx231xx/cx231xx-cards.c 
b/drivers/media/usb/cx231xx/cx231xx-cards.c
index 69b24205bc56..b0941cd2a2d8 100644
--- a/drivers/media/usb/cx231xx/cx231xx-cards.c
+++ b/drivers/media/usb/cx231xx/cx231xx-cards.c
@@ -1826,7 +1826,7 @@ static int cx231xx_usb_probe(struct usb_interface 
*interface,
 
        retval = cx231xx_init_v4l2(dev, udev, interface, isoc_pipe);
        if (retval)
-               goto err_init;
+               goto err_video_alt;
 
        if (dev->current_pcb_config.ts1_source != 0xff) {
                /* compute alternate max packet sizes for TS1 */
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to