Re: [PATCH] usb: gadget: f_fs: add missing spinlock and mutex unlock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 10 2014, Robert Baldyga <r.baldyga@xxxxxxxxxxx> wrote:
> This patch adds missing spin_unlock and mutex_unlock calls in
> error handling code.
>
> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx>

Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx>

> ---
>  drivers/usb/gadget/f_fs.c |    8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/gadget/f_fs.c b/drivers/usb/gadget/f_fs.c
> index b7d273a..d6bd0a3 100644
> --- a/drivers/usb/gadget/f_fs.c
> +++ b/drivers/usb/gadget/f_fs.c
> @@ -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;
>  
> @@ -863,6 +863,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;
> -- 
> 1.7.9.5
>

-- 
Best regards,                                         _     _
.o. | Liege of Serenely Enlightened Majesty of      o' \,=./ `o
..o | Computer Science,  Michał “mina86” Nazarewicz    (o o)
ooo +--<mpn@xxxxxxxxxx>--<xmpp:mina86@xxxxxxxxxx>--ooO--(_)--Ooo--

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux