Re: FTDI-SIO hang on ftdi_close()

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

 



On Wed, 17 Nov 2010 david.schueler@xxxxxxxxxxxxxxxxxxx wrote:

> Ok, today i figured out that the "hang" appears on ftdi_close. So i enabled
> "DETECT_HUNG_TASK" in ma kernel and got this:

> Nov 17 11:51:51 Server [  220.553322] drivers/usb/serial/ftdi_sio.c:
> ftdi_close
> Nov 17 11:54:11 Server [  360.493081] INFO: task ws2500:7782 blocked for
> more than 120 seconds.
> Nov 17 11:54:11 Server [  360.493083] "echo 0
> > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> Nov 17 11:54:11 Server [  360.493085] ws2500        D 0000000000000001
> 5072  7782   6469 0x00000000
> Nov 17 11:54:11 Server [  360.493090]  ffff880081c19d08 0000000000000086
> ffffffff0000000f ffff88013f67adc0
> Nov 17 11:54:11 Server [  360.493092]  ffff880100000000 ffff880081c19fd8
> ffff88009a356320 0000000000013640
> Nov 17 11:54:11 Server [  360.493095]  ffff880081c19fd8 0000000000013640
> 0000000000013640 0000000000013640
> Nov 17 11:54:11 Server [  360.493097] Call Trace:
> Nov 17 11:54:11 Server [  360.493104]  [<ffffffff8136dc53>] usb_kill_urb
> +0x91/0xaf
> Nov 17 11:54:11 Server [  360.493108]  [<ffffffff810559ab>] ?
> autoremove_wake_function+0x0/0x34
> Nov 17 11:54:11 Server [  360.493113]  [<ffffffffa01fe1b6>] ftdi_close
> +0x4a/0x5e [ftdi_sio]
> Nov 17 11:54:11 Server [  360.493116]  [<ffffffffa002402a>] serial_down
> +0x2a/0x2c [usbserial]
> Nov 17 11:54:11 Server [  360.493119]  [<ffffffff8127e36f>]
> tty_port_shutdown+0x3d/0x4a
> Nov 17 11:54:11 Server [  360.493121]  [<ffffffff8127e9c4>] tty_port_close
> +0x1e/0x42
> Nov 17 11:54:11 Server [  360.493124]  [<ffffffffa00245ed>] serial_close
> +0x58/0x61 [usbserial]
> Nov 17 11:54:11 Server [  360.493127]  [<ffffffff81278314>] tty_release
> +0x23e/0x5af
> Nov 17 11:54:11 Server [  360.493129]  [<ffffffff8127d275>] ?
> tty_ldisc_deref+0x9/0xb
> Nov 17 11:54:11 Server [  360.493131]  [<ffffffff81278089>] ? tty_ioctl
> +0x74f/0x76e
> Nov 17 11:54:11 Server [  360.493134]  [<ffffffff81031391>] ? __wake_up
> +0x3f/0x48
> Nov 17 11:54:11 Server [  360.493137]  [<ffffffff810de81b>] __fput
> +0xf9/0x19b
> Nov 17 11:54:11 Server [  360.493139]  [<ffffffff810de8d2>] fput+0x15/0x17
> Nov 17 11:54:11 Server [  360.493141]  [<ffffffff810dbbdf>] filp_close
> +0x63/0x6d
> Nov 17 11:54:11 Server [  360.493143]  [<ffffffff810dbc80>] sys_close
> +0x97/0xcb
> Nov 17 11:54:11 Server [  360.493146]  [<ffffffff8100296b>]
> system_call_fastpath+0x16/0x1b
> 
> But i dont know which function blocks (usb_kill_urb or
> system_call_fastpath).
> What do i have to investigate?

usb_kill_urb() blocks.  But investigating that function won't help, 
because it blocks waiting for the hardware.  Clearly the problem lies 
in your nVidia chipset.

If you want to delve deeper, make sure your kernel has CONFIG_USB_DEBUG
and CONFIG_DEBUG_FS enabled.  Mount a debugfs filesystem on
/sys/kernel/debug.  Then when the hang occurs, go into the appropriate
subdirectory of /sys/kernel/debug/usb/ohci (the one corresponding to 
the controller your FTDI device is plugged into) and collect copies of 
the files there.

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