Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85b4b3c8 authored by Thomas Faber's avatar Thomas Faber Committed by Greg Kroah-Hartman
Browse files

usb: gadgetfs: return number of bytes on ep0 read request



A read from GadgetFS endpoint 0 during the data stage of a control
request would always return 0 on success (as returned by
wait_event_interruptible) despite having written data into the user
buffer.
This patch makes it correctly set the return value to the number of
bytes read.

Signed-off-by: default avatarThomas Faber <thfabba@gmx.de>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 60b9bd8d
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -1043,6 +1043,8 @@ ep0_read (struct file *fd, char __user *buf, size_t len, loff_t *ptr)
// FIXME don't call this with the spinlock held ...
// FIXME don't call this with the spinlock held ...
				if (copy_to_user (buf, dev->req->buf, len))
				if (copy_to_user (buf, dev->req->buf, len))
					retval = -EFAULT;
					retval = -EFAULT;
				else
					retval = len;
				clean_req (dev->gadget->ep0, dev->req);
				clean_req (dev->gadget->ep0, dev->req);
				/* NOTE userspace can't yet choose to stall */
				/* NOTE userspace can't yet choose to stall */
			}
			}