usb: dwc_otg_310: Fixed that otg-host cannot transport LS device data.

Decreasing the use_count of urb is pended since core usb have put it
into the tasklet after HC dequeued, so we add a condition which check
urb in HC queue is NULL or not to enhance exception conditions here.

BUG=Redmine: Defect#95115
TEST=RK3366-SDK, LS mouse device works.

Change-Id: I8b6d8ae2a866817b0c638e0b43811d108962b591
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
This commit is contained in:
Frank Wang 2016-06-08 10:17:57 +08:00
parent dd8a1e839a
commit b05d65e8c3

2
drivers/usb/dwc_otg_310/dwc_otg_hcd_linux.c Executable file → Normal file
View File

@ -993,7 +993,7 @@ static int urb_enqueue(struct usb_hcd *hcd,
}
#endif
if (unlikely(atomic_read(&urb->use_count) > 1)) {
if (unlikely(atomic_read(&urb->use_count) > 1) && urb->hcpriv) {
retval = -EPERM;
printk("%s urb %p already in queue, qtd %p, use_count %d\n",
__func__, urb, urb->hcpriv,