Re: USB reset xhci_hcd for ELAN touchscreen

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, May 31, 2014 at 04:45:01PM +0200, Bjørn Mork wrote:
> Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> writes:
> 
> > ffff8800da9be6c0 3444255124 S Ci:2:067:0 s 80 06 0100 0000 0012 18 <
> > ffff8800da9be6c0 3444255418 C Ci:2:067:0 0 18 = 12010002 00000008 f3048900 1300040e 0001
> 
> So you are successfully reading the device descriptor in hub_port_init()
> 
> > ffff88020b7a76c0 3444255485 S Ci:2:067:0 s 80 06 0600 0000 000a 10 <
> > ffff88020b7a76c0 3444255548 C Ci:2:067:0 -32 0
> > ffff88020b7a76c0 3444255612 S Ci:2:067:0 s 80 06 0600 0000 000a 10 <
> > ffff88020b7a76c0 3446360388 C Ci:2:067:0 -71 0
> > ffff88020b7a76c0 3446360451 S Ci:2:067:0 s 80 06 0600 0000 000a 10 <
> > ffff88020b7a76c0 3446360539 C Ci:2:067:0 -71 0
> 
> 
> Then you hit this part of hub_port_connect_change():
> 
>                 /* check for devices running slower than they could */
>                 if (le16_to_cpu(udev->descriptor.bcdUSB) >= 0x0200
>                                 && udev->speed == USB_SPEED_FULL
>                                 && highspeed_hubs != 0)
>                         check_highspeed (hub, udev, port1);
> 
> 
> And check_highspeed() calls usb_get_descriptor() to get the
> USB_DT_DEVICE_QUALIFIER descriptor, but this device doesn't like that
> and stalls.   usb_get_descriptor() still tries 3 times before giving up,
> but it looks like the stall isn't cleared like it should be?

Yeah, that doesn't make sense, the device really doesn't like that call.
So I stopped making that call to it and it now works a bit better, but
is constantly disconnecting itself from the bus now and reconnecting
itself.

I'll work on this more later on today, thanks for the initial push...

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux