Please rerun your tests on 2.4.26 and report me the results. I worked around this problem for 2.4 already, so it's not an issue anymore.
It is still there--see the oops below. Can you tell me what changes were made that might affect this problem?
You can see that in usbserial serial_write (holding the semaphore) an interrupt comes in with USB data which the io_edgeport driver passes up to the tty subsystem which echos it by calling usbserial serial_write again (still in the interrupt) which tries again to get the semaphore--oops.
This was on a UP 2.4.26 kernel with the io_edgeport driver. I set stty 115200 opost ocrnl echo < /dev/ttyUSB0 connected a loopback plug to the port, ran cat /dev/ttyUSB0 in one window, then in another window repeatedly ran cat /etc/termcap > /dev/ttyUSB0 It may take a while to hit the bug--this one happened after 11 /etc/termcaps.
I tried it with pl2303 but that driver just hangs on this test.
Thanks, -- Al
ksymoops 2.4.9 on i686 2.4.26. Options used -V (default) -k /proc/ksyms (default) -l /proc/modules (default) -o /lib/modules/2.4.26/ (default) -m /usr/src/linux/System.map (default)
Warning: You did not tell me where to find symbol information. I will assume that the log matches the kernel and modules that are running right now and I'll use the default options above for symbol resolution. If the current kernel and/or modules do not match the log, you can get more accurate output by telling me the kernel version and where to find map, modules, ksyms etc. ksymoops -h explains the options.
kernel BUG at sched.c:564!
invalid operand: 0000
CPU: 0
EIP: 0010:[<c0115ae3>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010282
eax: 00000018 ebx: c5db8474 ecx: ffffffff edx: 00000000
esi: d234a000 edi: ffffffea ebp: d234bb68 esp: d234bb44
ds: 0018 es: 0018 ss: 0018
Process cat (pid: 2717, stackpage=d234b000)
Stack: c021db4a c012699a d234a000 c2363f90 00000000 00000001 c5db8474 d234a000
ffffffea d234bb88 c0107804 00000001 d234a000 c5db847c c5db847c c5db841c
c5db8400 d234bb9c c0107967 c5db8474 c5db8400 ffffffed d234bbb0 d88bc6a7
Call Trace: [<c012699a>] [<c0107804>] [<c0107967>] [<d88bc6a7>] [<c016dea7>]
[<c016e9a7>] [<c0120e49>] [<c0120f3d>] [<c0120ff8>] [<c01442f2>] [<c0120f6b>]
[<c0120e49>] [<c016d853>] [<d88c2b68>] [<d88c0ab0>] [<d886386b>] [<d8863959>]
[<d8863a6c>] [<c0109eed>] [<c010a09b>] [<c010c558>] [<d88c16fb>] [<d88ba719>]
[<c016e1e5>] [<c0115d69>] [<c016fde5>] [<c016bcc7>] [<c016fc90>] [<c0137768>]
[<c0108ac3>]
Code: 0f 0b 34 02 42 db 21 c0 58 8b 45 ec c1 e0 05 05 00 db 29 c0
>>EIP; c0115ae3 <schedule+53/300> <=====
>>ebx; c5db8474 <_end+5ad3830/1856a3bc> >>esi; d234a000 <_end+120653bc/1856a3bc> >>ebp; d234bb68 <_end+12066f24/1856a3bc> >>esp; d234bb44 <_end+12066f00/1856a3bc>
Trace; c012699a <handle_mm_fault+5a/d0> Trace; c0107804 <__down+54/a0> Trace; c0107967 <__down_failed+b/14> Trace; d88bc6a7 <[usbserial].text.lock.usbserial+41/e9> Trace; c016dea7 <opost+17/1c0> Trace; c016e9a7 <n_tty_receive_buf+357/c70> Trace; c0120e49 <send_signal+29/100> Trace; c0120f3d <deliver_signal+1d/60> Trace; c0120ff8 <send_sig_info+78/90> Trace; c01442f2 <send_sigio_to_task+b2/c0> Trace; c0120f6b <deliver_signal+4b/60> Trace; c0120e49 <send_signal+29/100> Trace; c016d853 <flush_to_ldisc+e3/f0> Trace; d88c2b68 <[io_edgeport]process_rcvd_data+358/3d0> Trace; d88c0ab0 <[io_edgeport]edge_bulk_in_callback+140/1c0> Trace; d886386b <[usb-uhci]process_urb+db/200> Trace; d8863959 <[usb-uhci]process_urb+1c9/200> Trace; d8863a6c <[usb-uhci]uhci_interrupt+dc/140> Trace; c0109eed <handle_IRQ_event+3d/70> Trace; c010a09b <do_IRQ+9b/e0> Trace; c010c558 <call_do_IRQ+5/d> Trace; d88c16fb <[io_edgeport]edge_write+27b/2c0> Trace; d88ba719 <[usbserial]serial_write+e9/120> Trace; c016e1e5 <opost_block+195/1a0> Trace; c0115d69 <schedule+2d9/300> Trace; c016fde5 <write_chan+155/1f0> Trace; c016bcc7 <tty_write+1b7/230> Trace; c016fc90 <write_chan+0/1f0> Trace; c0137768 <sys_write+98/f0> Trace; c0108ac3 <system_call+33/38>
Code; c0115ae3 <schedule+53/300> 00000000 <_EIP>: Code; c0115ae3 <schedule+53/300> <===== 0: 0f 0b ud2a <===== Code; c0115ae5 <schedule+55/300> 2: 34 02 xor $0x2,%al Code; c0115ae7 <schedule+57/300> 4: 42 inc %edx Code; c0115ae8 <schedule+58/300> 5: db 21 (bad) (%ecx) Code; c0115aea <schedule+5a/300> 7: c0 58 8b 45 rcrb $0x45,0xffffff8b(%eax) Code; c0115aee <schedule+5e/300> b: ec in (%dx),%al Code; c0115aef <schedule+5f/300> c: c1 e0 05 shl $0x5,%eax Code; c0115af2 <schedule+62/300> f: 05 00 db 29 c0 add $0xc029db00,%eax
<0>Kernel panic: Aiee, killing interrupt handler!
1 warning issued. Results may not be reliable.
------------------------------------------------------- This SF.Net email is sponsored by: SourceForge.net Broadband Sign-up now for SourceForge Broadband and get the fastest 6.0/768 connection for only $19.95/mo for the first 3 months! http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel