| From 89f3594d0de58e8a57d92d497dea9fee3d4b9cda Mon Sep 17 00:00:00 2001 |
| From: Hangyu Hua <hbh25y@gmail.com> |
| Date: Sat, 1 Jan 2022 01:21:37 +0800 |
| Subject: usb: gadget: don't release an existing dev->buf |
| |
| From: Hangyu Hua <hbh25y@gmail.com> |
| |
| commit 89f3594d0de58e8a57d92d497dea9fee3d4b9cda upstream. |
| |
| dev->buf does not need to be released if it already exists before |
| executing dev_config. |
| |
| Acked-by: Alan Stern <stern@rowland.harvard.edu> |
| Signed-off-by: Hangyu Hua <hbh25y@gmail.com> |
| Link: https://lore.kernel.org/r/20211231172138.7993-2-hbh25y@gmail.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/usb/gadget/legacy/inode.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/usb/gadget/legacy/inode.c |
| +++ b/drivers/usb/gadget/legacy/inode.c |
| @@ -1829,8 +1829,9 @@ dev_config (struct file *fd, const char |
| spin_lock_irq (&dev->lock); |
| value = -EINVAL; |
| if (dev->buf) { |
| + spin_unlock_irq(&dev->lock); |
| kfree(kbuf); |
| - goto fail; |
| + return value; |
| } |
| dev->buf = kbuf; |
| |