Re: PROBLEM: lsusb -v freezes kernel on Acer ES1-111M

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

 



On Mon, 7 Sep 2015, Roland Weber wrote:

> Hi Alan,
> 
> just a quick heads-up before I go to sleep,
> more detailed info to follow later this week.
> The freeze is triggered from hcd.c, function usb_remove_hcd:
> 
> /* Prevent any more root-hub status calls from the timer.
>  * The HCD might still restart the timer (if a port status change
>  * interrupt occurs), but usb_hcd_poll_rh_status() won't invoke
>  * the hub_status_data() callback.
>  */
> hcd->rh_pollable = 0;
> clear_bit(HCD_FLAG_POLL_RH, &hcd->flags);
> del_timer_sync(&hcd->rh_timer);
> 
> // I see output from here
> printk(KERN_INFO "usb_remove_hcd five\n");
> 
> hcd->driver->stop(hcd);
> hcd->state = HC_STATE_HALT;
> 
> /* In case the HCD restarted the timer, stop it again. */
> clear_bit(HCD_FLAG_POLL_RH, &hcd->flags);
> del_timer_sync(&hcd->rh_timer);
> 
> // this point is not reached
> printk(KERN_INFO "usb_remove_hcd six\n");

In theory the freeze could happen during the second del_timer_sync.  
But I think it is much more likely to occur during hcd->driver->stop; 
that would be consistent with the probing-order bug you observed.

> There was a lot of noise on the screen, but I saw output
> from release_devnum with index 2, then with index 1.
> Then follows the freeze. If you could give me a hint where
> hcd->driver->stop(hcd);
> might point to, I can track it further down.

It points to ehci_stop() in host/ehci-hcd.c.

> > Hmmm, I just took a look at the code.  Something I had forgotten about 
> > was added recently; a table of devices that ehci-pci should ignore.  If 
> > you add your device to that list, ehci-pci won't bind to it.  See 
> > bypass_pci_id_table in drivers/usb/host/ehci-pci.c.  Of course, that 
> > also will involve rebuilding part of the kernel...
> 
> Thanks, that's good to know. At the moment, I'm still tracking the freeze
> in the codebase of the first "bad" commit. Would it be better to switch
> to a more recent kernel already? If so, which one would you suggest?

I suggest using the 4.2 kernel, just because it is the most recent.  
The ehci-hcd driver hasn't changed very much recently, however, so it 
probably doesn't matter a lot.

Alan Stern

--
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