mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-13 03:57:27 +07:00
usb: gadget: f_fs: add missing spinlock and mutex unlock
This patch adds missing spin_unlock and mutex_unlock calls in error handling code. Signed-off-by: Robert Baldyga <r.baldyga@samsung.com> Acked-by: Michal Nazarewicz <mina86@mina86.com> Acked-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
dad4babe41
commit
48968f8d5f
@ -802,7 +802,7 @@ static ssize_t ffs_epfile_io(struct file *file, struct ffs_io_data *io_data)
|
||||
if (io_data->aio) {
|
||||
req = usb_ep_alloc_request(ep->ep, GFP_KERNEL);
|
||||
if (unlikely(!req))
|
||||
goto error;
|
||||
goto error_lock;
|
||||
|
||||
req->buf = data;
|
||||
req->length = io_data->len;
|
||||
@ -817,7 +817,7 @@ static ssize_t ffs_epfile_io(struct file *file, struct ffs_io_data *io_data)
|
||||
ret = usb_ep_queue(ep->ep, req, GFP_ATOMIC);
|
||||
if (unlikely(ret)) {
|
||||
usb_ep_free_request(ep->ep, req);
|
||||
goto error;
|
||||
goto error_lock;
|
||||
}
|
||||
ret = -EIOCBQUEUED;
|
||||
|
||||
@ -865,6 +865,10 @@ static ssize_t ffs_epfile_io(struct file *file, struct ffs_io_data *io_data)
|
||||
|
||||
mutex_unlock(&epfile->mutex);
|
||||
return ret;
|
||||
|
||||
error_lock:
|
||||
spin_unlock_irq(&epfile->ffs->eps_lock);
|
||||
mutex_unlock(&epfile->mutex);
|
||||
error:
|
||||
kfree(data);
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user