System hang in USB umass module while processing panic

Hans Petter Selasky hselasky at freebsd.org
Wed May 25 15:22:29 UTC 2011


On Wednesday 25 May 2011 17:01:24 Andriy Gapon wrote:
> on 19/05/2011 22:27 Shah, Vishal said the following:
> > In FreeBSD 8 USB driver, commands are asynchronously sent from umass
> > layer onto the wire, in other words, multiple threads are involved
> > before the command is sent from the umass layer all the way to the wire.
> > Since the usb_proc is not scheduled current process keeps waiting for
> > the command to complete, hence the hang. Is this a known issue? If yes,
> > is there a fix available? Are there any plans of adding a synchronous
> > path to send the command to the device? Any information regarding this
> > issue is much appreciated.
> 
> From your description this sounds like a problem in USB driver.
> I am not an expert in USB code, looks like some polling prodding would have
> to be added there (if it's not there yet).  Hans Petter may be a better
> contact for this issue.
> I am not sure if I can help you more.

Hi,

The umass driver is being polled during panic. If some command is hanging on a 
USB device then USB cannot do anything about it. Only the CAM layer can abort 
the SCSI command, because the USB layer doesn't know if it is the dump device 
or not? Sometimes the command timeouts are rather longs so waiting until the 
command times out might work to get a core dump.

--HPS


More information about the freebsd-usb mailing list