public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* USB snd-usb-audio wedges lsusb when unplugged while playing sound.
@ 2006-07-22 12:12 Ian Stirling
  2006-07-22 15:44 ` Andrew Morton
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Ian Stirling @ 2006-07-22 12:12 UTC (permalink / raw)
  To: linux-kernel

Config/... as my earlier message on USB - though with the bandwidth 
enforcement
turned off so it actually plays sound, when plugged into the USB1 port.

2.6.17.

Basically - playing sound with
mplayer -ao alsa:device=hw=1 or whatever - and then unplugging the
soundcard completely wedges lsusb/usb configuration, until the mplayer 
process is killed.

cat /proc/bus/usb/devices stalls.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: USB snd-usb-audio wedges lsusb when unplugged while playing sound.
  2006-07-22 12:12 USB snd-usb-audio wedges lsusb when unplugged while playing sound Ian Stirling
@ 2006-07-22 15:44 ` Andrew Morton
  2006-07-22 16:20   ` Ian Stirling
  2006-07-22 16:49 ` [linux-usb-devel] " Christopher Montgomery
  2006-07-22 23:52 ` Alan Stern
  2 siblings, 1 reply; 7+ messages in thread
From: Andrew Morton @ 2006-07-22 15:44 UTC (permalink / raw)
  To: Ian Stirling; +Cc: linux-kernel, linux-usb-devel

On Sat, 22 Jul 2006 13:12:37 +0100
Ian Stirling <tandra@mauve.plus.com> wrote:

> Config/... as my earlier message on USB - though with the bandwidth 
> enforcement
> turned off so it actually plays sound, when plugged into the USB1 port.
> 
> 2.6.17.
> 
> Basically - playing sound with
> mplayer -ao alsa:device=hw=1 or whatever - and then unplugging the
> soundcard completely wedges lsusb/usb configuration, until the mplayer 
> process is killed.
> 
> cat /proc/bus/usb/devices stalls.

Please get the machine into the wedged state, then do

	dmesg -c
	echo t > /proc/sysrq-trigger
	dmesg -s 1000000 > foo

then send foo, thanks.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: USB snd-usb-audio wedges lsusb when unplugged while playing sound.
  2006-07-22 15:44 ` Andrew Morton
@ 2006-07-22 16:20   ` Ian Stirling
  0 siblings, 0 replies; 7+ messages in thread
From: Ian Stirling @ 2006-07-22 16:20 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linux-usb-devel

[-- Attachment #1: Type: text/plain, Size: 685 bytes --]

Andrew Morton wrote:
> On Sat, 22 Jul 2006 13:12:37 +0100
> Ian Stirling <tandra@mauve.plus.com> wrote:
> 
> 
>>Config/... as my earlier message on USB - though with the bandwidth 
>>enforcement
>>turned off so it actually plays sound, when plugged into the USB1 port.
>>
>>2.6.17.
>>
>>Basically - playing sound with
>>mplayer -ao alsa:device=hw=1 or whatever - and then unplugging the
>>soundcard completely wedges lsusb/usb configuration, until the mplayer 
>>process is killed.
>>
>>cat /proc/bus/usb/devices stalls.
> 
> 
> Please get the machine into the wedged state, then do
> 
> 	dmesg -c
> 	echo t > /proc/sysrq-trigger
> 	dmesg -s 1000000 > foo
> 
> then send foo, thanks.


[-- Attachment #2: foo --]
[-- Type: text/plain, Size: 15634 bytes --]

dma_pool_free+0x6b/0xea
 <c0106f24> convert_fxsr_to_user+0xdb/0x16c  <c0138c80> free_hot_cold_page+0xff/0x14d
 <c013f6c5> zap_pte_range+0x9d/0x212  <c013f931> unmap_page_range+0xf7/0x11c
 <c013f134> free_pgtables+0x74/0x84  <c0126dd6> remove_wait_queue+0x39/0x52
 <c0119003> do_wait+0x1e7/0x3a2  <c01120cc> default_wake_function+0x0/0x12
 <c01120cc> default_wake_function+0x0/0x12  <c016271f> sys_poll+0x44/0x48
 <c0102d4f> syscall_call+0x7/0xb 
firefox-bin   S C011D801     0  5781   5780          5782       (NOTLB)
       c446fbd8 c446fd64 00000000 c011d801 c446fbe8 00000000 a07aa500 003d17bd 
       c037f0e0 c485aa30 c485ab38 c446fbe8 803dd3bb c446fd50 c446fc50 c030e9fc 
       c446fbe8 803dd3bb c040a448 c040a448 803dd3bb c011e083 c485aa30 c0409540 
Call Trace:
 <c011d801> lock_timer_base+0x20/0x52  <c030e9fc> schedule_timeout+0x45/0x8e
 <c011e083> process_timeout+0x0/0x9  <c01623fe> do_poll+0x5a/0x113
 <c0162468> do_poll+0xc4/0x113  <c0162609> do_sys_poll+0x152/0x224
 <c011d801> lock_timer_base+0x20/0x52  <c011d8ca> __mod_timer+0x97/0xc9
 <c011a677> local_bh_enable+0x39/0x8b  <c89ea7f1> zdcb_check_tcb_avail+0x51/0x90 [zd1211]
 <c89f3fce> SendPkt+0xce/0x1d0 [zd1211]  <c89eef4a> zd_SendPkt+0xfa/0x1f0 [zd1211]
 <c89e3e6f> zd1205_xmit_frame+0x8f/0x490 [zd1211]  <c0161726> __pollwait+0x0/0x4b
 <c01120cc> default_wake_function+0x0/0x12  <c011a677> local_bh_enable+0x39/0x8b
 <c02b421c> dev_queue_xmit+0xc4/0x23b  <c02cafd7> ip_output+0x147/0x215
 <c02cb30f> ip_queue_xmit+0x26a/0x461  <c895270d> snd_complete_urb+0x69/0x87 [snd_usb_audio]
 <c8884553> usb_hcd_giveback_urb+0x19/0x4a [usbcore]  <c8884c40> usb_free_urb+0x13/0x16 [usbcore]
 <c0126f33> autoremove_wake_function+0x0/0x3a  <c8906ae8> scan_periodic+0x1fd/0x27e [ehci_hcd]
 <c02dfaad> tcp_v4_send_check+0x3c/0xc9  <c011d801> lock_timer_base+0x20/0x52
 <c011d8ca> __mod_timer+0x97/0xc9  <c02ae64b> sk_reset_timer+0x12/0x1d
 <c02dc433> tcp_write_xmit+0x17a/0x272  <c02dc54e> __tcp_push_pending_frames+0x23/0x80
 <c02dd1a5> tcp_send_fin+0x40/0xbe  <c02aad4e> sock_destroy_inode+0x13/0x16
 <c01de623> _atomic_dec_and_lock+0x2b/0x48  <c016a131> mntput_no_expire+0x14/0x91
 <c01510d4> __fput+0x157/0x1a3  <c01e296a> copy_to_user+0x30/0x44
 <c016271f> sys_poll+0x44/0x48  <c0102d4f> syscall_call+0x7/0xb
firefox-bin   S 3711C5ED     0  5782   5780         15495  5781 (NOTLB)
       c36abf18 00000f06 c03848e8 3711c5ed 00000f06 00000000 1ba04d00 003d17c0 
       c037f0e0 c485a050 c485a158 c36aa000 c36abf58 00000000 00000000 c030f7d0 
       c36abf58 02fabdb8 00000000 00000001 00000000 c36abf58 00000001 c0129c04 
Call Trace:
 <c030f7d0> do_nanosleep+0x3f/0x67  <c0129c04> hrtimer_nanosleep+0x4c/0x105
 <c0129b89> hrtimer_wakeup+0x0/0x1c  <c01e29b8> copy_from_user+0x3a/0x66
 <c0129d05> sys_nanosleep+0x48/0x4f  <c0102d4f> syscall_call+0x7/0xb
xpdf          S 003D17BF     0  5808   3790                     (NOTLB)
       c23b3b58 c3b4a050 3278afb4 003d17bf c6574520 00000000 77d52600 003d17bf 
       c6574520 c2f830b0 c2f831b8 7fffffff 00000000 00000010 00000000 c030ea43 
       c68fa918 c23b3bd0 c4f20280 00000000 c02aba36 c4f20280 c68fa900 c23b3bd0 
Call Trace:
 <c030ea43> schedule_timeout+0x8c/0x8e  <c02aba36> sock_poll+0x13/0x17
 <c0161a26> do_select+0x1ea/0x355  <c0161726> __pollwait+0x0/0x4b
 <c01120cc> default_wake_function+0x0/0x12  <c8906b36> scan_periodic+0x24b/0x27e [ehci_hcd]
 <c890302d> qh_destroy+0x0/0x78 [ehci_hcd]  <c8906cf0> ehci_work+0x4f/0xb7 [ehci_hcd]
 <c02458ac> dma_pool_alloc+0x10c/0x15a  <c02b4432> netif_rx+0x9f/0xc4
 <c01116d3> activate_task+0x27/0x68  <c01115c9> __activate_task+0x1a/0x26
 <c0111773> try_to_wake_up+0x3e/0xc7  <c0112109> __wake_up_common+0x2b/0x4e
 <c02fbb80> unix_stream_recvmsg+0xe6/0x3dd  <c012a81c> debug_mutex_add_waiter+0x1c/0x2e
 <c02fbb80> unix_stream_recvmsg+0xe6/0x3dd  <c030f1b4> __mutex_unlock_slowpath+0xd7/0x1f7
 <c02fbc88> unix_stream_recvmsg+0x1ee/0x3dd  <c01e29b8> copy_from_user+0x3a/0x66
 <c0161d9d> core_sys_select+0x20c/0x36e  <c0150167> do_sync_read+0xb7/0xf5
 <c02fc07f> unix_ioctl+0x8f/0xce  <c02ab8dc> sock_ioctl+0x96/0x1b6
 <c0161f89> sys_select+0x8a/0x190  <c0119d31> sys_gettimeofday+0x22/0x57
 <c0102d4f> syscall_call+0x7/0xb 
scsi_eh_7     S C030DE2B     0 14599      6         14601  2183 (L-TLB)
       c55b5fb4 c7bfbd6c c55b5fc0 c030de2b c3f80a10 00000000 209a7200 003d1364 
       c3f80a10 c1e44a50 c1e44b58 c6246800 c7bfbd6c c6246800 c0262400 c026247b 
       c55b4000 c0126af9 c6246800 fffffffc 00000001 ffffffff ffffffff c0126a59 
Call Trace:
 <c030de2b> schedule+0x3d5/0x625  <c0262400> scsi_error_handler+0x0/0xa6
 <c026247b> scsi_error_handler+0x7b/0xa6  <c0126af9> kthread+0xa0/0xa7
 <c0126a59> kthread+0x0/0xa7  <c010134d> kernel_thread_helper+0x5/0xb
usb-storage   S 003D17AC     0 14601      6               14599 (L-TLB)
       c7727f34 c5fc9000 05a71600 003d17ac c112c520 00000000 05a71600 003d17ac 
       c112c520 c686aa70 c686ab78 c6246b64 c7726000 00000246 c686aa70 c030fd49 
       00000000 00000001 c686aa70 c01120cc c6246b6c c6246b6c c6246aac c7727f6c 
Call Trace:
 <c030fd49> __down_interruptible+0xad/0x141  <c01120cc> default_wake_function+0x0/0x12
 <c0111809> wake_up_process+0xd/0xf  <c030da3b> __down_failed_interruptible+0x7/0xc
 <c882350e> .text.lock.usb+0xb/0x21 [usb_storage]  <c030de2b> schedule+0x3d5/0x625
 <c8822aa6> usb_stor_control_thread+0x0/0x1b3 [usb_storage]  <c0126af9> kthread+0xa0/0xa7
 <c0126a59> kthread+0x0/0xa7  <c010134d> kernel_thread_helper+0x5/0xb
loop0         S 00000000     0 14969      1                5766 (L-TLB)
       c3371f78 00000000 00000000 00000000 c1e44560 00000000 f5abbc00 003d17a7 
       c1e44560 c2f835a0 c2f836a8 c7484104 c3370000 c3371fbc c3371fd4 c030e408 
       c53047f0 00000000 00000000 c2f835a0 c01120cc 00000000 00000000 c885b1af 
Call Trace:
 <c030e408> wait_for_completion_interruptible+0x9f/0x11f  <c01120cc> default_wake_function+0x0/0x12
 <c885b1af> do_lo_send_aops+0x0/0x1ee [loop]  <c015455a> end_bio_bh_io_sync+0x2d/0x47
 <c01120cc> default_wake_function+0x0/0x12  <c885b9bf> loop_thread+0x5a/0x121 [loop]
 <c885b965> loop_thread+0x0/0x121 [loop]  <c010134d> kernel_thread_helper+0x5/0xb
firefox-bin   S A48F4E45     0 15495   5780                5782 (NOTLB)
       c6bbff18 00000f12 c03848e8 a48f4e45 c485a540 00000000 93aa8100 003d17be 
       c485a540 c32dca70 c32dcb78 c6bbe000 c6bbff58 00000000 00000000 c030f7d0 
       c6bbff58 f8471980 0000000d 00000001 00000000 c6bbff58 00000001 c0129c04 
Call Trace:
 <c030f7d0> do_nanosleep+0x3f/0x67  <c0129c04> hrtimer_nanosleep+0x4c/0x105
 <c0101968> __switch_to+0x1c/0x1ac  <c0129b89> hrtimer_wakeup+0x0/0x1c
 <c01e29b8> copy_from_user+0x3a/0x66  <c0129d05> sys_nanosleep+0x48/0x4f
 <c0102d4f> syscall_call+0x7/0xb 
mplayer       S 003D17C0     0 15525   2523                     (NOTLB)
       c49c1f18 00000f06 1cd17a00 003d17c0 c485a540 00000000 1cd17a00 003d17c0 
       c485a540 c32dc580 c32dc688 c49c0000 c49c1f58 00000000 00000000 c030f7d0 
       c49c1f58 00989680 00000000 00000001 00000000 c49c1f58 00000001 c0129c04 
Call Trace:
 <c030f7d0> do_nanosleep+0x3f/0x67  <c0129c04> hrtimer_nanosleep+0x4c/0x105
 <c023315f> write_chan+0x0/0x1f7  <c0129b89> hrtimer_wakeup+0x0/0x1c
 <c01e29b8> copy_from_user+0x3a/0x66  <c0129d05> sys_nanosleep+0x48/0x4f
 <c0102d4f> syscall_call+0x7/0xb 
script        S 00000000     0 15530   3741 15531               (NOTLB)
       c2ba9ea4 c012a81c c7ad4bc4 00000000 c48e4580 00000000 1c576800 003d17c0 
       c48e4580 c32dc090 c32dc198 7fffffff c7ad4800 c1e07e00 c7ad4800 c030ea43 
       22222222 22222222 22222222 c2ba9f10 c7ad4930 c7ad4800 c0126d33 c7ad480c 
Call Trace:
 <c012a81c> debug_mutex_add_waiter+0x1c/0x2e  <c030ea43> schedule_timeout+0x8c/0x8e
 <c0126d33> add_wait_queue+0x33/0x4e  <c0232df1> read_chan+0x21e/0x58c
 <c01120cc> default_wake_function+0x0/0x12  <c011a331> current_fs_time+0x3c/0x53
 <c01120cc> default_wake_function+0x0/0x12  <c022d95b> tty_ldisc_deref+0x34/0x7d
 <c022e6d0> tty_read+0x9f/0xa6  <c0150230> vfs_read+0x8b/0x11f
 <c0150513> sys_read+0x3b/0x65  <c0102d4f> syscall_call+0x7/0xb
script        S 003D17C0     0 15531  15530 15532               (NOTLB)
       c64bbea4 c012a81c 1c947100 003d17c0 c686a580 00000000 1c947100 003d17c0 
       c686a580 c686a090 c686a198 7fffffff c4c22800 c40d4dc0 c4c22800 c030ea43 
       22222222 22222222 22222222 c64bbf10 c4c22930 c4c22800 c0126d33 c4c2280c 
Call Trace:
 <c012a81c> debug_mutex_add_waiter+0x1c/0x2e  <c030ea43> schedule_timeout+0x8c/0x8e
 <c0126d33> add_wait_queue+0x33/0x4e  <c0232df1> read_chan+0x21e/0x58c
 <c01120cc> default_wake_function+0x0/0x12  <c011a331> current_fs_time+0x3c/0x53
 <c01120cc> default_wake_function+0x0/0x12  <c022d95b> tty_ldisc_deref+0x34/0x7d
 <c022e6d0> tty_read+0x9f/0xa6  <c0150230> vfs_read+0x8b/0x11f
 <c0150513> sys_read+0x3b/0x65  <c0102d4f> syscall_call+0x7/0xb
bash          R running     0 15532  15531                     (NOTLB)

Showing all blocking locks in the system:
S            init:    1 [c112ca10, 115] (not blocked on mutex)
S     ksoftirqd/0:    2 [c112c520, 134] (not blocked on mutex)
S      watchdog/0:    3 [c112c030,   0] (not blocked on mutex)
S        events/0:    4 [c7f88a30, 110] (not blocked on mutex)
S         khelper:    5 [c7f88540, 111] (not blocked on mutex)
S         kthread:    6 [c7f88050, 110] (not blocked on mutex)
S       kblockd/0:    8 [c7f99560, 110] (not blocked on mutex)
S          kacpid:    9 [c7f99070, 110] (not blocked on mutex)
S         kseriod:   77 [c7f99a50, 110] (not blocked on mutex)
S         pdflush:  119 [c7f5e5c0, 115] (not blocked on mutex)
S         pdflush:  120 [c7f5e0d0, 115] (not blocked on mutex)
S         kswapd0:  121 [c7f60ad0, 115] (not blocked on mutex)
S           aio/0:  122 [c7f605e0, 117] (not blocked on mutex)
S           ata/0:  722 [c11dca70, 111] (not blocked on mutex)
S       kpsmoused:  732 [c7f5eab0, 111] (not blocked on mutex)
D           khubd: 1028 [c11ba090, 110] (not blocked on mutex)
S         pccardd: 1471 [c11f0580, 115] (not blocked on mutex)
S     rpc.portmap: 2131 [c11d4520, 115] (not blocked on mutex)
S         syslogd: 2134 [c7f42050, 115] (not blocked on mutex)
R           klogd: 2149 [c7f64a30, 115] (not blocked on mutex)
S           inetd: 2152 [c11f0090, 120] (not blocked on mutex)
S            sshd: 2155 [c7f65070, 121] (not blocked on mutex)
S     rpc.rquotad: 2171 [c11d4a10, 118] (not blocked on mutex)
S            nfsd: 2173 [c7f49a90, 115] (not blocked on mutex)
S            nfsd: 2174 [c7f495a0, 115] (not blocked on mutex)
S            nfsd: 2175 [c7f490b0, 115] (not blocked on mutex)
S            nfsd: 2176 [c11dc580, 115] (not blocked on mutex)
S            nfsd: 2177 [c11ba580, 115] (not blocked on mutex)
S            nfsd: 2178 [c7f64050, 115] (not blocked on mutex)
S            nfsd: 2179 [c7f600f0, 115] (not blocked on mutex)
S            nfsd: 2180 [c11dc090, 115] (not blocked on mutex)
S           lockd: 2182 [c7f65a50, 120] (not blocked on mutex)
S        rpciod/0: 2183 [c7f42540, 111] (not blocked on mutex)
S      rpc.mountd: 2184 [c11f0a70, 118] (not blocked on mutex)
S       rpc.statd: 2187 [c7198110, 120] (not blocked on mutex)
S             lpd: 2370 [c6622070, 116] (not blocked on mutex)
S           crond: 2373 [c65c8540, 116] (not blocked on mutex)
S             atd: 2375 [c11baa70, 116] (not blocked on mutex)
S             gpm: 2382 [c65c8a30, 115] (not blocked on mutex)
S            ntpd: 2386 [c7198600, 115] (not blocked on mutex)
S           rsync: 2387 [c6574030, 121] (not blocked on mutex)
S           loop6: 2512 [c66d7580, 100] (not blocked on mutex)
S            bash: 2523 [c6746a90, 115] (not blocked on mutex)
S            bash: 2524 [c7f65560, 115] (not blocked on mutex)
S            bash: 2532 [c65c8050, 116] (not blocked on mutex)
S          agetty: 2550 [c6622a50, 116] (not blocked on mutex)
S          agetty: 2563 [c537b5e0, 116] (not blocked on mutex)
S          agetty: 2574 [c67460b0, 116] (not blocked on mutex)
S          startx: 2623 [c67465a0, 116] (not blocked on mutex)
S           xinit: 2635 [c66d7090, 116] (not blocked on mutex)
S               X: 2636 [c66d7a70, 114] (not blocked on mutex)
S          fvwm95: 2653 [c6574520, 115] (not blocked on mutex)
S           xlock: 2664 [c3bc3a50, 126] (not blocked on mutex)
S       xautolock: 2665 [c3bc3560, 115] (not blocked on mutex)
S     FvwmButtons: 2666 [c3bc3070, 115] (not blocked on mutex)
S     FvwmTaskBar: 2667 [c3bafa70, 115] (not blocked on mutex)
S       FvwmPager: 2669 [c3b4a540, 115] (not blocked on mutex)
S           xload: 2670 [c537b0f0, 131] (not blocked on mutex)
S           xterm: 2671 [c537bad0, 115] (not blocked on mutex)
S            bash: 2692 [c7f64540, 118] (not blocked on mutex)
S           xterm: 2712 [c3b4a050, 115] (not blocked on mutex)
S            bash: 2714 [c7f42a30, 115] (not blocked on mutex)
S             ssh: 3735 [c48e4a70, 115] (not blocked on mutex)
S           xterm: 3739 [c48e4580, 115] (not blocked on mutex)
S            bash: 3741 [c3baf580, 115] (not blocked on mutex)
S            gaim: 3754 [c6622560, 115] (not blocked on mutex)
S           xterm: 3788 [c6574a10, 115] (not blocked on mutex)
S            bash: 3790 [c3b4aa30, 115] (not blocked on mutex)
S         cardmgr: 4209 [c7855090, 119] (not blocked on mutex)
S         firefox: 5766 [c7855a70, 121] (not blocked on mutex)
S  run-mozilla.sh: 5770 [c7198af0, 123] (not blocked on mutex)
S     firefox-bin: 5775 [c485a540, 115] (not blocked on mutex)
S     firefox-bin: 5780 [c3baf090, 115] (not blocked on mutex)
S     firefox-bin: 5781 [c485aa30, 115] (not blocked on mutex)
S     firefox-bin: 5782 [c485a050, 115] (not blocked on mutex)
S            xpdf: 5808 [c2f830b0, 115] (not blocked on mutex)
S       scsi_eh_7:14599 [c1e44a50, 111] (not blocked on mutex)
S     usb-storage:14601 [c686aa70, 110] (not blocked on mutex)
S           loop0:14969 [c2f835a0, 100] (not blocked on mutex)
S     firefox-bin:15495 [c32dca70, 115] (not blocked on mutex)
S         mplayer:15525 [c32dc580, 115] (not blocked on mutex)
S          script:15530 [c32dc090, 115] (not blocked on mutex)
S          script:15531 [c686a090, 116] (not blocked on mutex)
R            bash:15532 [c686a580, 116] (not blocked on mutex)

---------------------------
| showing all locks held: |
---------------------------

#001:             [c52473c4] {initialize_tty_struct}
.. held by:            agetty: 2550 [c6622a50, 116]
... acquired at:               read_chan+0x531/0x58c

#002:             [c5177bc4] {initialize_tty_struct}
.. held by:            agetty: 2563 [c537b5e0, 116]
... acquired at:               read_chan+0x531/0x58c

#003:             [c51773c4] {initialize_tty_struct}
.. held by:            agetty: 2574 [c67460b0, 116]
... acquired at:               read_chan+0x531/0x58c

#004:             [c37c1bc4] {initialize_tty_struct}
.. held by:              bash: 2692 [c7f64540, 118]
... acquired at:               read_chan+0x531/0x58c

#005:             [c5247bc4] {initialize_tty_struct}
.. held by:              bash: 2532 [c65c8050, 116]
... acquired at:               read_chan+0x531/0x58c

#006:             [c549b3c4] {initialize_tty_struct}
.. held by:              bash: 2524 [c7f65560, 115]
... acquired at:               read_chan+0x531/0x58c

#007:             [c7ad4bc4] {initialize_tty_struct}
.. held by:            script:15530 [c32dc090, 115]
... acquired at:               read_chan+0x531/0x58c

#008:             [c4c22bc4] {initialize_tty_struct}
.. held by:            script:15531 [c686a090, 116]
... acquired at:               read_chan+0x531/0x58c

=============================================


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [linux-usb-devel] USB snd-usb-audio wedges lsusb when unplugged while playing sound.
  2006-07-22 12:12 USB snd-usb-audio wedges lsusb when unplugged while playing sound Ian Stirling
  2006-07-22 15:44 ` Andrew Morton
@ 2006-07-22 16:49 ` Christopher Montgomery
  2006-07-22 17:00   ` Ian Stirling
  2006-07-22 23:52 ` Alan Stern
  2 siblings, 1 reply; 7+ messages in thread
From: Christopher Montgomery @ 2006-07-22 16:49 UTC (permalink / raw)
  To: Ian Stirling; +Cc: linux-kernel

On 7/22/06, Ian Stirling <tandra@mauve.plus.com> wrote:
> Config/... as my earlier message on USB - though with the bandwidth
> enforcement
> turned off so it actually plays sound, when plugged into the USB1 port.
>
> 2.6.17.
>
> Basically - playing sound with
> mplayer -ao alsa:device=hw=1 or whatever - and then unplugging the
> soundcard completely wedges lsusb/usb configuration, until the mplayer
> process is killed.

This sounds like the well known EPIPE problem in usb-audio and one I
intended to fix after dealing with the ehci scheduler.

It boils down to this: although the low-level usb code is properly
reporting and distinguishing error conditions, usb-audio translates
just about everything that goes wrong into 'EPIPE'.  Because an
application has no way to distinguish temporary from permanent errors
(and the coding docs specify that the app resubmit), it immediately
retries and gets another EPIPE.  This infinite retry loop places
enough system load on the machine that it may well even stop pinging.
Although the *machine* is not wedged, if this happens in a realtime
thread (eg, jack using a usb-audio device), it may well be hosed
enough to become unrecoverable.

Monty

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [linux-usb-devel] USB snd-usb-audio wedges lsusb when unplugged while playing sound.
  2006-07-22 16:49 ` [linux-usb-devel] " Christopher Montgomery
@ 2006-07-22 17:00   ` Ian Stirling
  2006-07-22 17:04     ` Christopher Montgomery
  0 siblings, 1 reply; 7+ messages in thread
From: Ian Stirling @ 2006-07-22 17:00 UTC (permalink / raw)
  To: Christopher Montgomery; +Cc: linux-kernel

Christopher Montgomery wrote:
> On 7/22/06, Ian Stirling <tandra@mauve.plus.com> wrote:
> 
>> Config/... as my earlier message on USB - though with the bandwidth
>> enforcement
>> turned off so it actually plays sound, when plugged into the USB1 port.
>>
>> 2.6.17.
>>
>> Basically - playing sound with
>> mplayer -ao alsa:device=hw=1 or whatever - and then unplugging the
>> soundcard completely wedges lsusb/usb configuration, until the mplayer
>> process is killed.
> 
> 
> This sounds like the well known EPIPE problem in usb-audio and one I
> intended to fix after dealing with the ehci scheduler.
<snip>
> enough system load on the machine that it may well even stop pinging.
> Although the *machine* is not wedged, if this happens in a realtime
> thread (eg, jack using a usb-audio device), it may well be hosed
> enough to become unrecoverable.

I just did it again, and the machine is >90% idle (PII/300), with 
mplayer doing:

ioctl(5, 0x806c4120, 0xbffeffd0)        = -1 ENODEV (No such device)
write(2, "alsa-lib: pcm_hw.c:406:(snd_pcm_"..., 89) = 89
write(2, "alsa-space: cannot get pcm statu"..., 50) = 50
nanosleep({0, 10000000}, NULL)          = 0
ioctl(5, 0x806c4120, 0xbffeffd0)        = -1 ENODEV (No such device)

about 70 times a second.
Of course, with other software, it may be different.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [linux-usb-devel] USB snd-usb-audio wedges lsusb when unplugged while playing sound.
  2006-07-22 17:00   ` Ian Stirling
@ 2006-07-22 17:04     ` Christopher Montgomery
  0 siblings, 0 replies; 7+ messages in thread
From: Christopher Montgomery @ 2006-07-22 17:04 UTC (permalink / raw)
  To: Ian Stirling; +Cc: linux-kernel

On 7/22/06, Ian Stirling <tandra@mauve.plus.com> wrote:
> I just did it again, and the machine is >90% idle (PII/300), with
> mplayer doing:
>
> ioctl(5, 0x806c4120, 0xbffeffd0)        = -1 ENODEV (No such device)
> write(2, "alsa-lib: pcm_hw.c:406:(snd_pcm_"..., 89) = 89
> write(2, "alsa-space: cannot get pcm statu"..., 50) = 50
> nanosleep({0, 10000000}, NULL)          = 0
> ioctl(5, 0x806c4120, 0xbffeffd0)        = -1 ENODEV (No such device)
>
> about 70 times a second.
> Of course, with other software, it may be different.

Yes, this is certainly not the bug then.  The bug exists regardless,
but it's not what you're hitting.
(I wonder then if mplayer has the opposite problem caused by erroring
out on EPIPE: randomly terminating in the middle of playback 'every
now and then')

Monty

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [linux-usb-devel] USB snd-usb-audio wedges lsusb when unplugged while playing sound.
  2006-07-22 12:12 USB snd-usb-audio wedges lsusb when unplugged while playing sound Ian Stirling
  2006-07-22 15:44 ` Andrew Morton
  2006-07-22 16:49 ` [linux-usb-devel] " Christopher Montgomery
@ 2006-07-22 23:52 ` Alan Stern
  2 siblings, 0 replies; 7+ messages in thread
From: Alan Stern @ 2006-07-22 23:52 UTC (permalink / raw)
  To: Ian Stirling; +Cc: linux-kernel, greg, linux-usb-devel

On Sat, 22 Jul 2006, Ian Stirling wrote:

> Config/... as my earlier message on USB - though with the bandwidth 
> enforcement
> turned off so it actually plays sound, when plugged into the USB1 port.

As you have found out, bandwidth allocation in the uhci-hcd driver is
completely broken.  Don't try to use it.

Alan Stern


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2006-07-22 23:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-22 12:12 USB snd-usb-audio wedges lsusb when unplugged while playing sound Ian Stirling
2006-07-22 15:44 ` Andrew Morton
2006-07-22 16:20   ` Ian Stirling
2006-07-22 16:49 ` [linux-usb-devel] " Christopher Montgomery
2006-07-22 17:00   ` Ian Stirling
2006-07-22 17:04     ` Christopher Montgomery
2006-07-22 23:52 ` Alan Stern

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox