In an unlikely case of failure in media_device_register(), release resources and return the erroneous value. Otherwise, possible issues with registering the device will continue to be ignored. Found by Linux Verification Center (linuxtesting.org) with static analysis tool SVACE. Fixes: 37ecc7b1278f ("[media] em28xx: add media controller support") Signed-off-by: Nikita Zhandarovich <n.zhandarovich@xxxxxxxxxx> --- drivers/media/usb/em28xx/em28xx-cards.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/media/usb/em28xx/em28xx-cards.c b/drivers/media/usb/em28xx/em28xx-cards.c index 4d037c92af7c..dae731dfc569 100644 --- a/drivers/media/usb/em28xx/em28xx-cards.c +++ b/drivers/media/usb/em28xx/em28xx-cards.c @@ -4095,6 +4095,8 @@ static int em28xx_usb_probe(struct usb_interface *intf, */ #ifdef CONFIG_MEDIA_CONTROLLER retval = media_device_register(dev->media_dev); + if (retval) + goto err_free; #endif return 0;