Call mutex_unlock and free dev on failure.

Reported-by: Julia Lawall <julia.law...@lip6.fr>
Signed-off-by: Gustavo A. R. Silva <gust...@embeddedor.com>
---
 drivers/media/usb/au0828/au0828-core.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/media/usb/au0828/au0828-core.c 
b/drivers/media/usb/au0828/au0828-core.c
index 739df61..cd363a2 100644
--- a/drivers/media/usb/au0828/au0828-core.c
+++ b/drivers/media/usb/au0828/au0828-core.c
@@ -628,6 +628,8 @@ static int au0828_usb_probe(struct usb_interface *interface,
        if (retval) {
                pr_err("%s() au0282_dev_register failed to register on V4L2\n",
                        __func__);
+               mutex_unlock(&dev->lock);
+               kfree(dev);
                goto done;
        }
 
-- 
2.5.0

Reply via email to