Pete Zaitcev wrote:
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

Reply via email to