Hi,
I have a 2.4.21 system which paniced suddenly on usb-ohci.h.  No usb
device was used during this time.  The netdump showed me the following
stack:

Kernel BUG at usb_ohci:464
invalid operand: 0000
CPU 0
Pid: 3937, comm: cp2k.popt Tainted: PF
RIP: 0010:[<ffffffffa00773d4>]{:usb-ohci:dl_reverse_done_list+100}
RSP: 0000:ffffffff805ed488  EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000010041c2e000 RCX: 0000000000000000
RDX: 0000000080834870 RSI: 0000010041c2e000 RDI: 0000000000000000
RBP: 0000010041c2e000 R08: bd7f45237fc40000 R09: bd7aa0c5fe1e0000
R10: 00000000291fb3b0 R11: 0000002a959c08f8 R12: 0000010017683f58
R13: 0000000000000002 R14: 0000000000000000 R15: 0000000002048364
FS:  0000002a95eb40a0(0000) GS:ffffffff805e8580(0000) knlGS:0000000041f89bb0
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000002a96c08000 CR3: 0000000000101000 CR4: 00000000000006e0

Call Trace: [<ffffffffa0078761>]{:usb-ohci:hc_interrupt+193}
      [<ffffffff801132bf>]{handle_IRQ_event+95}
[<ffffffff80113562>]{do_IRQ+274}
      [<ffffffff80110887>]{common_interrupt+95}  <EOI>

On analysing the dump, it had paniced on : BUG()
dma_to_ed_td (struct hash_list_t * entry, dma_addr_t dma)
{
       struct hash_t * scan = entry->head;
       while (scan && scan->dma != dma)
               scan = scan->next;
       if (!scan)
               BUG();
       return scan->virt;
}

On lkml I found a very similar issue reported. The stack was also very
similar.  Below is the text content of that:

Pete Zaitcev, 2004-05-04 12:28:34 -0700 :

From: Roland Mas <
[EMAIL PROTECTED]>
Date:   Wed, 31 Mar 2004 22:29:32 +0200

This is my ADSL gateway/firewall.  Old ISA card (module ne), which
has worked flawlessly for months.  USB modem based on the Eagle

chipset by Analog Devices Inc. (ADI), driver is not in mainline
kernel, but it also has worked for months (except when my ISP
played silly buggers).

[...]


  My problem: after some time (a few hours), I get a kernel panic
speaking of a "kernel BUG at usb-ohci.h:464!".  The only USB
peripheral is the ADSL modem.  If I unload 8139too and alias eth0

ne, but leave the Realtek NIC plugged in, I get no such panic.

| >>EIP; c4862f47 <[usb-ohci]dl_reverse_done_list+63/f0>   <=====

It is not my change to usb-ohci, because that one went to
2.4.26.
In fact, I think might actually help! Roland, please try 2.4.26.

Well, it seems to work better.  The computer has been up for more than
twelve hours now,

On comparing my kernel with 2.4.21-26 or even 2.4.21-32, I found that
the difference is in ALLOC_FLAGS.  GFP_NOIO was used instead of
GFP_KERNEL in newer kernels.  I understand that this flag is to be
used to prevent IO during memory allocation, but in my scenario the
USB controller was allocated the irq 19 and system was up and running
for 2 days.

#define ALLOC_FLAGS (in_interrupt () || current->state != TASK_RUNNING
? GFP_ATOMIC : GFP_KERNEL)

My concern here is that can I still believe that fixing ALLOC_FLAGS
would solve the issue.  I may be asking a basic question here, sorry.
Prashanth


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to