Hi, Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> writes: > Hi, > >> From: Felipe Balbi, Sent: Monday, May 21, 2018 5:05 PM > <snip> >> seems like it would be better to just move this like before >> usb_ep_queue(): >> >> modified drivers/usb/gadget/function/f_printer.c >> @@ -631,19 +631,19 @@ printer_write(struct file *fd, const char __user *buf, size_t len, loff_t *ptr) >> return -EAGAIN; >> } >> >> + list_add(&req->list, &dev->tx_reqs_active); >> + >> /* here, we unlock, and only unlock, to avoid deadlock. */ >> spin_unlock(&dev->lock); >> value = usb_ep_queue(dev->in_ep, req, GFP_ATOMIC); >> spin_lock(&dev->lock); >> if (value) { >> + list_del(&req->list); >> list_add(&req->list, &dev->tx_reqs); >> spin_unlock_irqrestore(&dev->lock, flags); >> mutex_unlock(&dev->lock_printer_io); >> return -EAGAIN; >> } >> - >> - list_add(&req->list, &dev->tx_reqs_active); >> - >> } >> >> spin_unlock_irqrestore(&dev->lock, flags); >> >> -- > > Thank you very much for your patch! This could resolve the issue. > So, should I submit this your patch as your author? you can send it with your authorship, it's totally fine :-) You can also add my: Acked-by: Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx> thanks -- balbi
Attachment:
signature.asc
Description: PGP signature