Commit 3180d827 authored by Michael Grzeschik's avatar Michael Grzeschik Committed by Greg Kroah-Hartman
Browse files

usb: gadget: uvc: don't put item still in use



With the patch "588b9e85 (usb: gadget: uvc: add v4l2 enumeration api
calls)" the driver is keeping a list of configfs entries currently
configured. The list is used in uvc_v4l2 on runtime.

The driver now is giving back the list item just after it was referenced
with config_item_put. It also calls config_item_put on uvc_free, which
is the only and right place to give back the reference. This patch fixes
the issue by removing the extra config_item_put in uvc_alloc.

Fixes: 588b9e85 (usb: gadget: uvc: add v4l2 enumeration api calls)
Signed-off-by: default avatarMichael Grzeschik <m.grzeschik@pengutronix.de>
Link: https://lore.kernel.org/r/20220930122839.1747279-1-m.grzeschik@pengutronix.de


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent a15e17ac
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -995,7 +995,6 @@ static struct usb_function *uvc_alloc(struct usb_function_instance *fi)
		goto err_config;

	uvc->header = to_uvcg_streaming_header(h);
	config_item_put(h);
	if (!uvc->header->linked) {
		mutex_unlock(&opts->lock);
		kfree(uvc);