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

Commit 4e17cfa2 authored by Kyle Yan's avatar Kyle Yan Committed by Gerrit - the friendly Code Review server
Browse files

Merge "USB: f_mtp: Handle corner cases on reception of Cancel request from Host" into msm-4.8

parents 8fccfa63 32565c2f
Loading
Loading
Loading
Loading
+11 −1
Original line number Original line Diff line number Diff line
@@ -614,7 +614,17 @@ static ssize_t mtp_read(struct file *fp, char __user *buf,
	}
	}


	/* wait for a request to complete */
	/* wait for a request to complete */
	ret = wait_event_interruptible(dev->read_wq, dev->rx_done);
	ret = wait_event_interruptible(dev->read_wq,
				dev->rx_done || dev->state != STATE_BUSY);
	if (dev->state == STATE_CANCELED) {
		r = -ECANCELED;
		if (!dev->rx_done)
			usb_ep_dequeue(dev->ep_out, req);
		spin_lock_irq(&dev->lock);
		dev->state = STATE_CANCELED;
		spin_unlock_irq(&dev->lock);
		goto done;
	}
	if (ret < 0) {
	if (ret < 0) {
		r = ret;
		r = ret;
		usb_ep_dequeue(dev->ep_out, req);
		usb_ep_dequeue(dev->ep_out, req);