Bug 2779 - (IRDA) panic scheduling in interrupt with tekram usb irda dongle
Summary: (IRDA) panic scheduling in interrupt with tekram usb irda dongle
Status: REJECTED INSUFFICIENT_DATA
Alias: None
Product: Drivers
Classification: Unclassified
Component: Network (show other bugs)
Hardware: i386 Linux
: P2 blocking
Assignee: Jeff Garzik
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-05-27 02:46 UTC by Tom Parker
Modified: 2005-08-07 11:49 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.4.26
Subsystem:
Regression: ---
Bisected commit-id:


Attachments

Description Tom Parker 2004-05-27 02:46:15 UTC
Distribution: Debian Unstable
Hardware Environment:
Have tried on 3 seperate boxes, 1 via chipset p3, one intel chipset p3 and one
intel chipset pentium classic (which this report was generated on). All 3 had a
kernel panic that superficially looks to be the same

the irda dongle is unbranded and appears to be a pl2303 usb->serial adapter with
an IRDA port on the serial side.

Software Environment: 
Problem Description:

see bug 2708 for problems with this device on 2.6.6 which were solved by the
patch attached in that bug.

irattach /dev/ttyUSB0 -d tekram 

oops oocurs within 1 second, every time. If the following is not enough to
diagnose the problem, I can easily repeat.

ksymoops 2.4.9 on i586 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 (specified)

Warning (compare_maps): mismatch on symbol irlan_state  , irlan says c284cd64,
/lib/modules/2.4.26/kernel/net/irda/irlan/irlan.o says c284cd1c.  Ignoring
/lib/modules/2.4.26/kernel/net/irda/irlan/irlan.o entry
kernel BUG at sched.c:564!
invalid operand: 0000
CPU:    0
EIP:    0010:[<c0112ba6>]    Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010282
eax: 00000018   ebx: c0249d48   ecx: c0248000   edx: 00000000
esi: 0000335a   edi: c0248000   ebp: c0249d34   esp: c0249d10
ds: 0018   es: 0018   ss: 0018
Process swapper (pid: 0, stackpage=c0249000)
Stack: c020527e c0249d48 0000335a 00000064 c10e6dcc c000e1d0 00000206 00000000 
       0000335a c0249d5c c0112b2b c0249d48 c0248000 00000000 c0249f38 c0249f38 
       0000335a c0248000 c0112a70 c0249da0 c2801219 c1a94800 80000200 c02e91f4 
Call Trace:    [<c0112b2b>] [<c0112a70>] [<c2801219>] [<c2801321>] [<c28013a4>]
  [<c281f121>] [<c2820039>] [<c2820260>] [<c2819a70>] [<c2845fcf>] [<c2848394>]
  [<c2833c77>] [<c2833de4>] [<c2833e0b>] [<c011c3f8>] [<c011942c>] [<c0119359>]
  [<c011913c>] [<c0108141>] [<c0105260>] [<c0105260>] [<c0105286>] [<c01052f7>]
  [<c0105000>] [<c010502a>]
Code: 0f 0b 34 02 76 52 20 c0 83 c4 04 8b 4d f8 c1 e1 05 81 c1 20 


>>EIP; c0112ba6 <schedule+4a/2f8>   <=====

>>ebx; c0249d48 <init_task_union+1d48/2000>
>>ecx; c0248000 <init_task_union+0/2000>
>>edi; c0248000 <init_task_union+0/2000>
>>ebp; c0249d34 <init_task_union+1d34/2000>
>>esp; c0249d10 <init_task_union+1d10/2000>

Trace; c0112b2b <schedule_timeout+73/94>
Trace; c0112a70 <process_timeout+0/48>
Trace; c2801219 <[usbcore]usb_start_wait_urb+d5/17c>
Trace; c2801321 <[usbcore]usb_internal_control_msg+61/74>
Trace; c28013a4 <[usbcore]usb_control_msg+70/8c>
Trace; c281f121 <[pl2303]set_control_lines+35/64>
Trace; c2820039 <[pl2303]set_modem_info+ed/100>
Trace; c2820260 <[pl2303]pl2303_ioctl+c0/120>
Trace; c2819a70 <[usbserial]serial_ioctl+e4/108>
Trace; c2845fcf <[irlan]irlan_close_data_channel+e3/118>
Trace; c2848394 <[irlan]irlan_client_get_value_confirm+e8/104>
Trace; c2833c77 <[irda]irda_task_kick+73/14c>
Trace; c2833de4 <[irda]irda_task_timer_expired+0/2c>
Trace; c2833e0b <[irda]irda_task_timer_expired+27/2c>
Trace; c011c3f8 <timer_bh+278/388>
Trace; c011942c <bh_action+1c/48>
Trace; c0119359 <tasklet_hi_action+49/70>
Trace; c011913c <do_softirq+4c/a0>
Trace; c0108141 <do_IRQ+c5/d4>
Trace; c0105260 <default_idle+0/30>
Trace; c0105260 <default_idle+0/30>
Trace; c0105286 <default_idle+26/30>
Trace; c01052f7 <cpu_idle+3f/54>
Trace; c0105000 <_stext+0/0>
Trace; c010502a <rest_init+2a/30>

Code;  c0112ba6 <schedule+4a/2f8>
00000000 <_EIP>:
Code;  c0112ba6 <schedule+4a/2f8>   <=====
   0:   0f 0b                     ud2a      <=====
Code;  c0112ba8 <schedule+4c/2f8>
   2:   34 02                     xor    $0x2,%al
Code;  c0112baa <schedule+4e/2f8>
   4:   76 52                     jbe    58 <_EIP+0x58>
Code;  c0112bac <schedule+50/2f8>
   6:   20 c0                     and    %al,%al
Code;  c0112bae <schedule+52/2f8>
   8:   83 c4 04                  add    $0x4,%esp
Code;  c0112bb1 <schedule+55/2f8>
   b:   8b 4d f8                  mov    0xfffffff8(%ebp),%ecx
Code;  c0112bb4 <schedule+58/2f8>
   e:   c1 e1 05                  shl    $0x5,%ecx
Code;  c0112bb7 <schedule+5b/2f8>
  11:   81 c1 20 00 00 00         add    $0x20,%ecx

 <0>Kernel panic: Aiee, killing interrupt handler!
kernel BUG at sched.c:564!
invalid operand: 0000
CPU:    0
EIP:    0010:[<c0112ba6>]    Not tainted
EFLAGS: 00010282
eax: 00000018   ebx: c0249d48   ecx: c0248000   edx: 00000000
esi: 0000197c   edi: c0248000   ebp: c0249d34   esp: c0249d10
ds: 0018   es: 0018   ss: 0018
Process swapper (pid: 0, stackpage=c0249000)
Stack: c020527e c0249d48 0000197c 00000064 c10e6dcc c02791d0 00000202 00000000 
       0000197c c0249d5c c0112b2b c0249d48 c0248000 00000000 c0249f38 c0249f38 
       0000197c c0248000 c0112a70 c0249da0 c2801219 c166ec00 80000200 c1c92e9c 
Call Trace:    [<c0112b2b>] [<c0112a70>] [<c2801219>] [<c2801321>] [<c28013a4>]
  [<c281f121>] [<c2820039>] [<c2820260>] [<c2819a70>] [<c285cfcf>] [<c285a394>]
  [<c2833c77>] [<c2833de4>] [<c2833e0b>] [<c011c3f8>] [<c011942c>] [<c0119359>]
  [<c011913c>] [<c0108141>] [<c0105260>] [<c0105260>] [<c0105286>] [<c01052f7>]
  [<c0105000>] [<c010502a>]
Code: 0f 0b 34 02 76 52 20 c0 83 c4 04 8b 4d f8 c1 e1 05 81 c1 20 


>>EIP; c0112ba6 <schedule+4a/2f8>   <=====

>>ebx; c0249d48 <init_task_union+1d48/2000>
>>ecx; c0248000 <init_task_union+0/2000>
>>edi; c0248000 <init_task_union+0/2000>
>>ebp; c0249d34 <init_task_union+1d34/2000>
>>esp; c0249d10 <init_task_union+1d10/2000>

Trace; c0112b2b <schedule_timeout+73/94>
Trace; c0112a70 <process_timeout+0/48>
Trace; c2801219 <[usbcore]usb_start_wait_urb+d5/17c>
Trace; c2801321 <[usbcore]usb_internal_control_msg+61/74>
Trace; c28013a4 <[usbcore]usb_control_msg+70/8c>
Trace; c281f121 <[pl2303]set_control_lines+35/64>
Trace; c2820039 <[pl2303]set_modem_info+ed/100>
Trace; c2820260 <[pl2303]pl2303_ioctl+c0/120>
Trace; c2819a70 <[usbserial]serial_ioctl+e4/108>
Trace; c285cfcf <.data.end+28d0/????>
Trace; c285a394 <[tekram]tekram_reset+90/140>
Trace; c2833c77 <[irda]irda_task_kick+73/14c>
Trace; c2833de4 <[irda]irda_task_timer_expired+0/2c>
Trace; c2833e0b <[irda]irda_task_timer_expired+27/2c>
Trace; c011c3f8 <timer_bh+278/388>
Trace; c011942c <bh_action+1c/48>
Trace; c0119359 <tasklet_hi_action+49/70>
Trace; c011913c <do_softirq+4c/a0>
Trace; c0108141 <do_IRQ+c5/d4>
Trace; c0105260 <default_idle+0/30>
Trace; c0105260 <default_idle+0/30>
Trace; c0105286 <default_idle+26/30>
Trace; c01052f7 <cpu_idle+3f/54>
Trace; c0105000 <_stext+0/0>
Trace; c010502a <rest_init+2a/30>

Code;  c0112ba6 <schedule+4a/2f8>
00000000 <_EIP>:
Code;  c0112ba6 <schedule+4a/2f8>   <=====
   0:   0f 0b                     ud2a      <=====
Code;  c0112ba8 <schedule+4c/2f8>
   2:   34 02                     xor    $0x2,%al
Code;  c0112baa <schedule+4e/2f8>
   4:   76 52                     jbe    58 <_EIP+0x58>
Code;  c0112bac <schedule+50/2f8>
   6:   20 c0                     and    %al,%al
Code;  c0112bae <schedule+52/2f8>
   8:   83 c4 04                  add    $0x4,%esp
Code;  c0112bb1 <schedule+55/2f8>
   b:   8b 4d f8                  mov    0xfffffff8(%ebp),%ecx
Code;  c0112bb4 <schedule+58/2f8>
   e:   c1 e1 05                  shl    $0x5,%ecx
Code;  c0112bb7 <schedule+5b/2f8>
  11:   81 c1 20 00 00 00         add    $0x20,%ecx

 <0>Kernel panic: Aiee, killing interrupt handler!

1 warning issued.  Results may not be reliable.
Comment 1 Adrian Bunk 2005-07-03 13:08:09 UTC
Is this problem still present in recent kernels, especially in recent 2.6 kernels?
Comment 2 Adrian Bunk 2005-08-07 11:49:17 UTC
Please reopen this bug if it's still present in recent kernels.

Note You need to log in before you can comment on or make changes to this bug.