Lee Revell wrote: > Usually when this happens running "dmesg" will display an Oops. Can you > check dmesg? Hmm. Not pretty. There's lots of output, a sample of which is; BUG: atomic counter underflow at: [<e093f732>] snd_mpu401_uart_input_trigger+0xb2/0xf0 [snd_mpu401_uart] (8) [<e0959722>] snd_rawmidi_kernel_read+0x22/0x50 [snd_rawmidi] (20) [<e096205c>] snd_midi_input_event+0x5c/0x100 [snd_seq_midi] (24) [<c01112cc>] finish_task_switch+0x4c/0xb0 (40) [<e0962000>] snd_midi_input_event+0x0/0x100 [snd_seq_midi] (36) [<e09594d6>] snd_rawmidi_receive+0x166/0x210 [snd_rawmidi] (16) [<e093f7d1>] snd_mpu401_uart_input_read+0x61/0x70 [snd_mpu401_uart] (40) [<e093f0b1>] _snd_mpu401_uart_interrupt+0x31/0xc0 [snd_mpu401_uart] (28) [<e093f155>] snd_mpu401_uart_interrupt+0x15/0x20 [snd_mpu401_uart] (16) [<e09897de>] snd_ice1712_interrupt+0x22e/0x250 [snd_ice1712] (8) [<c043423f>] __schedule+0x2ff/0x630 (16) [<c01372eb>] handle_IRQ_event+0x5b/0xd0 (24) [<c0137c08>] do_hardirq+0xb8/0x140 (48) [<c0137c90>] do_irqd+0x0/0xa0 (32) [<c0137cfe>] do_irqd+0x6e/0xa0 (4) [<c012d125>] kthread+0xa5/0xb0 (28) [<c012d080>] kthread+0x0/0xb0 (28) [<c0100865>] kernel_thread_helper+0x5/0x10 (16) --------------------------- | preempt count: 00000002 ] | 2-level deep critical section nesting: ---------------------------------------- .. [<c01109d9>] .... task_rq_lock+0x19/0x20 .....[<00000000>] .. ( <= 0x0) .. [<c012e3a7>] .... print_traces+0x17/0x50 .....[<00000000>] .. ( <= 0x0) Would you like to see the unabridged version? Any idea how to recover (apart from the obvious "sync;sync;sync; [reset switch]")?