Hi,

I'm using kernel 2.5.8.  When my Adaptec USB2connect for Notebooks USB 2.0 Cardbus 
Adapter is plugged in to my Dell Inspiron 4100 notebook and I press the power switch 
on, I get an Oops message during bootup.

jventura@debian:/var/log/ksymoops -k 20020507194439.ksyms -l 20020507194439.modules < 
/root/kernel/linux-2.5.8/the_oops.txt
ksymoops 2.4.5 on i686 2.5.8.  Options used
     -V (default)
     -k 20020507194439.ksyms (specified)
     -l 20020507194439.modules (specified)
     -o /lib/modules/2.5.8/ (default)
     -m /boot/System.map-2.5.8 (default)

Unable to handle kernel NULL pointer dereference at virtual address 000005a
c8875b32
*pde = 00000000
Oops: 0002
CPU:    0
EIP:    0010:[<c8875b32>]    Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010202
eax: c887758c   ebx: c7e68400   ecx: 0000000b   edx: c7e6842c
esi: 00000000   edi: c7e68400   ebp: c02accc0   esp: c6647e2c
ds: 0018   es: 0018   ss: 0018
Stack: c7e68400 c02aca00 00000000 c887759d c7e68400 00000000 c011964e c7e68400
       00000001 c02accd8 fffffff7 c01194da c02accd8 00000160 c02a5a60 0000000b
       c6647e88 00000046 c01081b2 c6646000 00000001 00000000 c7e667e0 00000000
Call Trace: [<c887759d>] [<c011964e>] [<c01194da>] [<c01081b2>] [<c0106e53>]
   [<c0120018>] [<c0126f65>] [<c0131616>] [<c0126a68>] [<c0131741>] [<c0106d07>] 
Code: 66 c7 46 5a 03 00 c7 46 48 00 00 00 00 56 57 e8 a6 ef ff ff


>>EIP; c8875b32 <[ehci-hcd]end_unlink_async+a/68>   <=====

>>eax; c887758c <[ehci-hcd]ehci_tasklet+0/30>
>>ebx; c7e68400 <_end+7b951f0/8587df0>
>>edx; c7e6842c <_end+7b9521c/8587df0>
>>edi; c7e68400 <_end+7b951f0/8587df0>
>>ebp; c02accc0 <softirq_vec+0/100>
>>esp; c6647e2c <_end+6374c1c/8587df0>

Trace; c887759d <[ehci-hcd]ehci_tasklet+11/30>
Trace; c011964e <tasklet_action+46/64>
Trace; c01194da <Letext+5a/a4>
Trace; c01081b2 <do_IRQ+96/a8>
Trace; c0106e53 <common_interrupt+1f/24>
Trace; c0120018 <Letext+59/91>
Trace; c0126f65 <generic_file_write+4fd/6d8>
Trace; c0131616 <do_readv_writev+1c6/25c>
Trace; c0126a68 <generic_file_write+0/6d8>
Trace; c0131741 <sys_writev+41/54>
Trace; c0106d07 <syscall_call+7/b>

Code;  c8875b32 <[ehci-hcd]end_unlink_async+a/68>
00000000 <_EIP>:
Code;  c8875b32 <[ehci-hcd]end_unlink_async+a/68>   <=====
   0:   66 c7 46 5a 03 00         movw   $0x3,0x5a(%esi)   <=====
Code;  c8875b38 <[ehci-hcd]end_unlink_async+10/68>
   6:   c7 46 48 00 00 00 00      movl   $0x0,0x48(%esi)
Code;  c8875b3f <[ehci-hcd]end_unlink_async+17/68>
   d:   56                        push   %esi
Code;  c8875b40 <[ehci-hcd]end_unlink_async+18/68>
   e:   57                        push   %edi
Code;  c8875b41 <[ehci-hcd]end_unlink_async+19/68>
   f:   e8 a6 ef ff ff            call   ffffefba <_EIP+0xffffefba> c8874aec 
<[ehci-hcd]qh_unput+0/4c>

  <0> Kernel panic: Aiee, killing interrupt handler!
jventura@debian:/var/log/ksymoops$ cd /lib/modules/2.5.8/kernel/drivers/usb/host/
jventura@debian:/lib/modules/2.5.8/kernel/drivers/usb/host$ objdump --source -d 
ehci-hcd.o

ehci-hcd.o:     file format elf32-i386

Disassembly of section .text:

00000000 <dbg_hcs_params>:
       0:       83 ec 40                sub    $0x40,%esp
                         .
                         .
                         .
                         .
00001ac8 <end_unlink_async>:
    1ac8:       57                      push   %edi
    1ac9:       56                      push   %esi
    1aca:       53                      push   %ebx
}

/*-------------------------------------------------------------------------*/

/* the async qh for the qtds being reclaimed are now unlinked from the HC */
/* caller must not own ehci->lock */

static void end_unlink_async (struct ehci_hcd *ehci)
{
    1acb:       8b 7c 24 10             mov    0x10(%esp,1),%edi
        struct ehci_qh          *qh = ehci->reclaim;
    1acf:       8b 77 08                mov    0x8(%edi),%esi

        qh->qh_state = QH_STATE_IDLE;                          
    1ad2:       66 c7 46 5a 03 00       movw   $0x3,0x5a(%esi)   <=====
        qh->qh_next.qh = 0;
    1ad8:       c7 46 48 00 00 00 00    movl   $0x0,0x48(%esi)
        qh_unput (ehci, qh);                    // refcount from reclaim 
    1adf:       56                      push   %esi
    1ae0:       57                      push   %edi
    1ae1:       e8 a6 ef ff ff          call   a8c <qh_unput>
                         .
                         .
                         .
                         .

I think I'm getting the Oops because struct ehci_qh *reclaim in struct ehci_hcd is not 
initialized.  I'm not sure what instance of struct ehci_qh to declare and if I should 
put it in struct ehci_hcd so I can initialize *reclaim.  

Thank you for any help you can extend to me.

Regards,
James Ventura

_______________________________________________________________

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to