This patch makes it transparent whether the function is exiting with an error or successful. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> --- drivers/staging/most/usb/usb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/most/usb/usb.c b/drivers/staging/most/usb/usb.c index 534825f..03318de 100644 --- a/drivers/staging/most/usb/usb.c +++ b/drivers/staging/most/usb/usb.c @@ -519,13 +519,13 @@ static int hdm_enqueue(struct most_interface *iface, int channel, "URB submit failed with error %d.\n", retval); goto err_unanchor_urb; } - goto unlock_io_mutex; + mutex_unlock(&mdev->io_mutex); + return 0; err_unanchor_urb: usb_unanchor_urb(urb); err_free_urb: usb_free_urb(urb); -unlock_io_mutex: mutex_unlock(&mdev->io_mutex); return retval; } -- 2.7.4