USB: gadget: f_mtp: Fix bug in receive_file work
If cable is disconnected while receive_file work is in progress, there is a case where mtp driver returns -ECANCELLED instead of -EIO. This results in mtp server thread not getting disconnect notification and mtp release will not be called. Due to this, mtp server will not start mtp connection after next USB connection. Change-Id: I909bebe0d22c19329cebb0a4a76424e08c82328c Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org> Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
This commit is contained in:
parent
fa1ac1406a
commit
78ece44dc6
1 changed files with 4 additions and 1 deletions
|
@ -930,7 +930,10 @@ static void receive_file_work(struct work_struct *data)
|
|||
dev->rx_done || dev->state != STATE_BUSY);
|
||||
if (dev->state == STATE_CANCELED
|
||||
|| dev->state == STATE_OFFLINE) {
|
||||
r = -ECANCELED;
|
||||
if (dev->state == STATE_OFFLINE)
|
||||
r = -EIO;
|
||||
else
|
||||
r = -ECANCELED;
|
||||
if (!dev->rx_done)
|
||||
usb_ep_dequeue(dev->ep_out, read_req);
|
||||
break;
|
||||
|
|
Loading…
Add table
Reference in a new issue