Re: Bugs: usb serial crash when close second comport

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

 



On Tue, Feb 02, 2021 at 03:50:50AM +0000, Tung Pham wrote:

> > Can you reproduce this with a mainline kernel?
> > 
> > Otherwise, you may need to bring this up with Ubuntu.
> 
> this bug doesn't occur on Ubuntu running on pc, it only occur on
> raspberry.

I understand, but if you can only reproduce this using a Ubuntu kernel
on the RPi it could be to something that they've put in their kernel's
(e.g. some out-of-tree driver) which doesn't exist in mainline. That's
why you need to be able to reproduce it on a mainline kernel.

> One additional thing: the bug doesn't occur with HUB: Orico, model
> W6ph4-u3-v1, Manufacture: VIA Labs, inc.
> It only occur with hub: HB-UM43 hub, Genesys Logic, Inc.

Ok, so depending on if the kernel crashes or not, it could still be a
bug in the hub firmware.

> > This sounds like you could have a problem with the host-controller
> > driver. What controller is the RPi4 using?
>  
> For the Pi 4, a fully-featured host controller drives the downstream
> USB ports. Downstream USB is provided by a Via Labs VL805 chip - that
> supports two USB 2.0 ports and two USB 3.0 ports

Which driver does it use? I believe some of the earlier RPi used an
out-of-tree host-controller driver, but perhaps that's no longer the
case.

> > As you write above, the usb_serial_generic_close() is needed to
> > cancel the outstanding URBs during close so you can't remove that.
> > 
> > But my guess is that something breaks in the HCD when unlinking
> > those URBs when connected through the hub. Do you have a stack trace
> > from an oops? Or do things just lock up?
>
> I don't know how to capture stack trace?

If the kernel oopses/crashes (e.g. due to a bug in the driver) you
should find a stack trace in the kernel log (e.g. run dmesg).

But if the USB bus just locks up (until you disconnect the hub or
device, or reload the USB serial driver), then this could also be a
firmware bug in the host-controller or hub.

Johan



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

  Powered by Linux