ISA PnP Auto 16/4 dies hard on disconnected cable

From: Tim Pepper (tpepper@us.ibm.com)
Date: Tue Feb 22 2000 - 19:10:17 EST


I haven't quite been able to figure out the exact mechanism, but it
appears to happen when the cable is disconnected and replaced a few
times. It may happen when the cable is pulled just once, but to
reproduce it I've had to pull the cable, replace it, pull it replace it
and eventually it fails one of the times immediately when I disconnect
the cable. As far as I know the machine in question is not talking on
the network at the time beyond any data link layer communication that
might be happening because of the connect/disconnect, if this makes any
difference. The machine is nonresponsive although it appears that
kernel messages are still coming to the console. Sorry this is so
vague. If you want more info or me to try anything in particular please
contact me. I've checked both 2.2.12 and 2.2.14 kernels with tr support
compiled in and it happens in both.

Here's what the driver says it finds on boot up:

        ibmtr.c: v1.3.57 8/ 7/94 Peter De Schrijver and Mark Swanson
                 v2.1.125 10/20/98 Paul Norton <pnorton@ieee.org>
                 v2.2.0 12/30/98 Joel Sloan <jjs@c-me.com>
        tr0: ISA P&P Auto 16/4 Adapter found
        tr0: using irq 10, PIOaddr a20, 16K shared RAM.
        tr0: Hardware address : 00:04:AC:94:9E:F4
        tr0: Maximum MTU 16Mbps: 4056, 4Mbps: 4568

The machine in question is a Pentium Pro 150. I can send further
hardware and kernel config details if desired.

Here's a painstakingly hand copied and ksymoops'd log dump from 2.2.14.
With the log being tailed onto the console it appears that there is a
continual stream of this error, with each dump followed a bit later by
"NMI: IOCK error (debug interrupt?)".

WARNING: This version of ksymoops is obsolete.
WARNING: The current version can be obtained from
ftp://ftp.ocs.com.au/pub/ksymoops
Options used: -v ../../vmlinux (specified)
              -o ../../modules/ (specified)
              -k /proc/ksyms (default)
              -L (specified)
              -m ../../System.map (specified)
              -c 1 (default)

No modules in ksyms, skipping objects
CPU: 0

EIP: 0010:[<c01086e8>]

EFLAGS: 00000002

eax: fffffb0b ebx: c01e2140 ecx: 0000000a edx: 00000000

esi: 0000000a edi: c3ef9280 ebp: c01d7f60 esp: c01d7f44

ds: 0018 es: 0018 ss: 0018

Process swapper (pid: 0, process nr: 0, stackpage=c01d7000)

Stack: 00000000 c01d6000 00004b31 00000001 c0108ba0 0000000a c01d7f68
00000000

       c0108818 00000000 c01d6000 c01e3c00 c01d6000 00004b31 00000000
00000003

       00000018 c01d0018 ffffff0a c010627d 00000010 00000246 c01d6000
0009b800

Call Trace: [<c0108ba0>] [<c0108818>] [<c010627d>] [<c0106000>]
[<c01062a0>] [<c01079dc>] [<c0106000>]

       [<c010607b>] [<c0106000>] [<c0100176>]

Code: e6 a1 c3 90 8a 05 10 2c 1c c0 e6 21 c3 8d 76 00 8b 4c 24 04

Warning: trailing garbage ignored on Code: line
  Text: 'Code: e6 a1 c3 90 8a 05 10 2c 1c c0 e6 21 c3 8d 76 00 8b 4c 24
04
'
  Garbage: '
'

>>EIP: c01086e8 <enable_8259A_irq+1c/2c>
Trace: c0108ba0 <do_IRQ+24/40>
Trace: c0108818 <common_interrupt+18/20>
Trace: c010627d <cpu_idle+59/68>
Trace: c0106000 <get_options+0/74>
Trace: c01062a0 <sys_idle+14/24>
Trace: c01079dc <system_call+34/38>
Trace: c0106000 <get_options+0/74>
Trace: c010607b <cpu_idle+7/18>
Code: c01086e8 <enable_8259A_irq+1c/2c> 00000000 <_EIP>: <===
Code: c01086e8 <enable_8259A_irq+1c/2c> 0: e6
a1 outb %al,$0xa1 <===
Code: c01086ea <enable_8259A_irq+1e/2c> 2:
c3 ret
Code: c01086eb <enable_8259A_irq+1f/2c> 3:
90 nop
Code: c01086ec <enable_8259A_irq+20/2c> 4: 8a 05 10 2c 1c
c0 movb 0xc01c2c10,%al
Code: c01086f2 <enable_8259A_irq+26/2c> a: e6
21 outb %al,$0x21
Code: c01086f4 <enable_8259A_irq+28/2c> c:
c3 ret
Code: c01086f5 <enable_8259A_irq+29/2c> d: 8d 76
00 leal 0x0(%esi),%esi
Code: c01086f8 <i8259A_irq_pending+0/2c> 10: 8b 4c 24
04 movl 0x4(%esp,1),%ecx

./ksymoops: Oops_next_file stat 2 failed : No such file or directory

3 warnings and 1 error issued. Results may not be reliable.

Further below I've also included a ksymoops'd bit of a 2.2.12 log that
once managed to make it onto the hard drive. This error appears in the
log right after an indication of cable disconnect. I'm wondering if the
above dump is all I see because the ones below scroll by too quickly.
At any rate I think these are two pieces of the same puzzle.

Tim

--

********************************************************* * tpepper@vato dot org * Venimus, Vidimus, * * http://www.vato.org/~tpepper * Dolavimus * *********************************************************

*********************************************************** ksymoops output: ***********************************************************

WARNING: This version of ksymoops is obsolete. WARNING: The current version can be obtained from ftp://ftp.ocs.com.au/pub/ksymoops Options used: -v ../../vmlinux (specified) -o ../../modules/ (specified) -k /proc/ksyms (default) -L (specified) -m ../../System.map (specified) -c 1 (default)

No modules in ksyms, skipping objects Feb 14 17:53:31 tpserv kernel: CPU: 0 Feb 14 17:53:31 tpserv kernel: EIP: 0010:[detect_uart_irq+68/256] Feb 14 17:53:31 tpserv kernel: EFLAGS: 00000286 Feb 14 17:53:31 tpserv kernel: eax: c00dbe4b ebx: c3fed800 ecx: 00000246 edx: 00000000 Feb 14 17:53:31 tpserv kernel: esi: c01d34a0 edi: 00000000 ebp: 00000042 esp: c2c09eb8 Feb 14 17:53:31 tpserv kernel: ds: 0018 es: 0018 ss: 0018 Feb 14 17:53:31 tpserv kernel: Process ifconfig (pid: 19565, process nr: 45, stackpage=c2c09000) Feb 14 17:53:31 tpserv kernel: Stack: c0150522 c01d34a0 00000043 c01d34a0 c0150ed4 c01d34a0 c3fdcc00 00000042 Feb 14 17:53:31 tpserv kernel: c3fdcc23 c2c09f40 c0168848 c01d34a0 00000042 00008914 00008914 bffffbd4 Feb 14 17:53:31 tpserv kernel: c3591c80 c2c09f40 00008913 00000000 bffffbd4 c01513ed 00000042 c2c08000 Feb 14 17:53:31 tpserv kernel: Call Trace: [memcpy_tokerneliovec+18/80] [scm_detach_fds+44/300] [icmp_reply+188/212] [unregister_netdevice_notifier+5/52] [destroy_sock+375/452] [autofs_wait_release+5/124] [sys_rename+57/400] Feb 14 17:53:31 tpserv kernel: Code: c7 83 cc 00 00 00 03 00 00 00 8d 43 40 e8 26 52 f7 ff 8b 53 Warning: trailing garbage ignored on Code: line Text: 'Code: c7 83 cc 00 00 00 03 00 00 00 8d 43 40 e8 26 52 f7 ff 8b 53 ' Garbage: ' '

Code: 00000000 Before first symbol 00000000 <_IP>: <=== Code: 00000000 Before first symbol 0: c7 83 cc 00 00 00 03 movl $0x3,0xcc(%ebx) <=== Code: 00000007 Before first symbol 7: 00 00 00 Code: 0000000a Before first symbol a: 8d 43 40 leal 0x40(%ebx),%eax Code: 0000000d Before first symbol d: e8 26 52 f7 ff call fff75238 <END_OF_CODE+3fd711b4/????> Code: 00000012 Before first symbol 12: 8b 53 00 movl 0x0(%ebx),%edx

Feb 14 17:53:31 tpserv kernel: CPU: 0 Feb 14 17:53:31 tpserv kernel: EIP: 0010:[do_signal+7/672] Feb 14 17:53:31 tpserv kernel: EFLAGS: 00000206 Feb 14 17:53:31 tpserv kernel: eax: ffffff60 ebx: 00000000 ecx: 00000001 edx: 000124bb Feb 14 17:53:31 tpserv kernel: esi: c2c09e7c edi: 00000000 ebp: 00000042 esp: c2c09e5c Feb 14 17:53:31 tpserv kernel: ds: 0018 es: 0018 ss: 0018 Feb 14 17:53:31 tpserv kernel: Process ifconfig (pid: 19565, process nr: 45, stackpage=c2c09000) Feb 14 17:53:31 tpserv kernel: Stack: c0108456 00000060 c2c09e7c c2c08000 c01d34a0 c0107ac1 c2c09e7c 00000000 Feb 14 17:53:31 tpserv kernel: c3fed800 00000246 00000000 c01d34a0 00000000 00000042 c00dbe4b c01d0018 Feb 14 17:53:31 tpserv kernel: 00000018 ffffffff c0199f28 00000010 00000286 00000043 c01d34a0 c0150522 Feb 14 17:53:31 tpserv kernel: Call Trace: [do_signal+106/672] [restore_sigcontext+277/440] [detect_uart_irq+68/256] [memcpy_tokerneliovec+18/80] [scm_detach_fds+44/300] [icmp_reply+188/212] [unregister_netdevice_notifier+5/52] Feb 14 17:53:31 tpserv kernel: Code: 5b 59 c3 89 f6 31 c0 8a 44 24 04 50 68 60 30 1a c0 e8 bb 94 Warning: trailing garbage ignored on Code: line Text: 'Code: 5b 59 c3 89 f6 31 c0 8a 44 24 04 50 68 60 30 1a c0 e8 bb 94 ' Garbage: ' '

Code: 00000000 Before first symbol 00000000 <_IP>: <=== Code: 00000000 Before first symbol 0: 5b popl %ebx <=== Code: 00000001 Before first symbol 1: 59 popl %ecx Code: 00000002 Before first symbol 2: c3 ret Code: 00000003 Before first symbol 3: 89 f6 movl %esi,%esi Code: 00000005 Before first symbol 5: 31 c0 xorl %eax,%eax Code: 00000007 Before first symbol 7: 8a 44 24 04 movb 0x4(%esp,1),%al Code: 0000000b Before first symbol b: 50 pushl %eax Code: 0000000c Before first symbol c: 68 60 30 1a c0 pushl $0xc01a3060 Code: 00000011 Before first symbol 11: e8 bb 94 00 00 call 000094d1 Before first symbol

Feb 14 17:53:31 tpserv kernel: CPU: 0 Feb 14 17:53:31 tpserv kernel: EIP: 0010:[do_signal+7/672] Feb 14 17:53:31 tpserv kernel: EFLAGS: 00000206 Feb 14 17:53:31 tpserv kernel: eax: ffffff60 ebx: 00000000 ecx: 00000001 edx: 000124bb Feb 14 17:53:31 tpserv kernel: esi: c2c09e20 edi: 00000000 ebp: 00000042 esp: c2c09e00 Feb 14 17:53:31 tpserv kernel: ds: 0018 es: 0018 ss: 0018 Feb 14 17:53:31 tpserv kernel: Process ifconfig (pid: 19565, process nr: 45, stackpage=c2c09000) Feb 14 17:53:31 tpserv kernel: Stack: c0108456 00000060 c2c09e20 c2c08000 c2c09e7c c0107ac1 c2c09e20 00000000 Feb 14 17:53:31 tpserv kernel: 00000000 00000001 000124bb c2c09e7c 00000000 00000042 ffffff60 00000018 Feb 14 17:53:31 tpserv kernel: 00000018 ffffffff c01083f3 00000010 00000206 c2c08060 60c70000 c0108456 Feb 14 17:53:31 tpserv kernel: Call Trace: [do_signal+106/672] [restore_sigcontext+277/440] [do_signal+7/672] [do_signal+106/672] [restore_sigcontext+277/440] [detect_uart_irq+68/256] [memcpy_tokerneliovec+18/80] Feb 14 17:53:31 tpserv kernel: Code: 5b 59 c3 89 f6 31 c0 8a 44 24 04 50 68 60 30 1a c0 e8 bb 94 Warning: trailing garbage ignored on Code: line Text: 'Code: 5b 59 c3 89 f6 31 c0 8a 44 24 04 50 68 60 30 1a c0 e8 bb 94 ' Garbage: ' '

Code: 00000000 Before first symbol 00000000 <_IP>: <=== Code: 00000000 Before first symbol 0: 5b popl %ebx <=== Code: 00000001 Before first symbol 1: 59 popl %ecx Code: 00000002 Before first symbol 2: c3 ret Code: 00000003 Before first symbol 3: 89 f6 movl %esi,%esi Code: 00000005 Before first symbol 5: 31 c0 xorl %eax,%eax Code: 00000007 Before first symbol 7: 8a 44 24 04 movb 0x4(%esp,1),%al Code: 0000000b Before first symbol b: 50 pushl %eax Code: 0000000c Before first symbol c: 68 60 30 1a c0 pushl $0xc01a3060 Code: 00000011 Before first symbol 11: e8 bb 94 00 00 call 000094d1 Before first symbol

./ksymoops: Oops_next_file stat 2 failed : No such file or directory

5 warnings and 1 error issued. Results may not be reliable.

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Feb 23 2000 - 21:00:31 EST