On Wed, Sep 01, Olaf Hering wrote:

> I tried this patch, it leads to a hard crash after 1 minute.
> Very strange...
> 
> --- ./drivers/usb/host/ehci-q.c.kaputt        2004-08-31 14:21:51.794068000 +0200
> +++ ./drivers/usb/host/ehci-q.c       2004-09-01 14:17:10.732679974 +0200
> @@ -857,7 +857,7 @@ static struct ehci_qh *qh_append_tds (
>                        */
>                       token = qtd->hw_token;
>                       qtd->hw_token = HALT_BIT;
> -                     wmb ();
> +                     mb ();
>                       dummy = qh->dummy;
>  
>                       dma = dummy->qtd_dma;
> @@ -878,7 +878,7 @@ static struct ehci_qh *qh_append_tds (
>                       qtd->hw_next = QTD_NEXT (dma);
>  
>                       /* let the hc process these next qtds */
> -                     wmb ();
> +                     mb ();
>                       dummy->hw_token = token;
>  
>                       urb->hcpriv = qh_get (qh);

It dereferences an already freed struct list_head after a few minutes.
I will try to reproduce it on a dual G5.

Unable to handle kernel paging request at 0000000000100108 RIP: 
<ffffffffa018068c>{:ehci_hcd:qh_completions+812}
PML4 17c82e067 PGD 17c82d067 PMD 0 
Oops: 0002 [1] SMP 
CPU 0 
Pid: 0, comm: swapper Not tainted 2.6.5-20040901-smp
RIP: 0010:[<ffffffffa018068c>] <ffffffffa018068c>{:ehci_hcd:qh_completions+812}
RSP: 0018:ffffffff804ec848  EFLAGS: 00010246
RAX: 0000000000100100 RBX: 000001007f526280 RCX: 00000100ba5ec2e0
RDX: 0000000000200200 RSI: 0000000000000006 RDI: 00000100bcc57dd8
RBP: 00000100ba5ec2a0 R08: 0000000000000000 R09: 0000000000000006
R10: 0000000000000000 R11: 0000000000000001 R12: 00000100bcaab140
R13: 00000100ba5ec2a0 R14: 00000100bba86c00 R15: 00000100ba5ec720
FS:  0000002a96710d80(0000) GS:ffffffff804e8600(0000) knlGS:0000000000000000
CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000000000100108 CR3: 0000000000101000 CR4: 00000000000006e0
Process swapper (pid: 0, threadinfo ffffffff804f0000, task ffffffff803a7180)
Stack: 00000100bcaab198 00000000010cb737 0000000000000004 00000100ba5ec340 
       ffffffff804f1f18 00000100bba86c00 00000100bcaab140 00000100bcaab198 
       0000000000000000 00000100bba86c00 
Call Trace:<IRQ> <ffffffffa0182ca7>{:ehci_hcd:ehci_work+151} 
<ffffffffa01833a2>{:ehci_hcd:ehci_irq+242} 
       <ffffffffa00e3754>{:usbcore:usb_hcd_irq+52} 
<ffffffff80113bbf>{handle_IRQ_event+47} 
       <ffffffff80113cb1>{do_IRQ+193} <ffffffff8010f1e0>{default_idle+0} 
       <ffffffff80110c6d>{ret_from_intr+0}  <EOI> <ffffffff8010f200>{default_idle+32} 
       <ffffffff8010f69a>{cpu_idle+26} <ffffffff804f3726>{start_kernel+502} 
       <ffffffff804f319a>{__init_begin+410} 

Code: 48 89 50 08 48 89 02 48 c7 41 08 00 02 20 00 48 c7 45 40 00 
RIP <ffffffffa018068c>{:ehci_hcd:qh_completions+812} RSP <ffffffff804ec848>
CR2: 0000000000100108
 <0>Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing
 NMI Watchdog detected LOCKUP on CPU1, registers:
CPU 1 
Pid: 0, comm: swapper Not tainted 2.6.5-20040901-smp
RIP: 0010:[<ffffffffa0183f22>] <ffffffffa0183f22>{:ehci_hcd:.text.lock.ehci_hcd+60}
RSP: 0018:00000100bff0be28  EFLAGS: 00000086
RAX: 0000000000000000 RBX: 000001007f526280 RCX: 000001017b035010
RDX: 0000010101ca4000 RSI: 0000000000000000 RDI: 000001007f526280
RBP: 00000100bba86c00 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000001 R12: 00000100bba86cc0
R13: 0000000000000000 R14: 00000100bba86c00 R15: 00000100ba5ec720
FS:  0000002a9588e6e0(0000) GS:ffffffff804e8680(0000) knlGS:0000000000000000
CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000002a9556c000 CR3: 000000017ffb2000 CR4: 00000000000006e0
Process swapper (pid: 0, threadinfo 0000010037e78000, task 00000100bff0c920)
Stack: 00000100ba5ec720 000001007f526b80 00000100ba5ec300 00000100bcaab140 
       00000100ba5ec2a0 ffffffffa01803fe 00000100bcaab198 000000000557d400 
       0000000000000000 00000100ba5ec3a0 
Call Trace:<IRQ> <ffffffffa01803fe>{:ehci_hcd:qh_completions+158} 
<ffffffffa0182ca7>{:ehci_hcd:ehci_work+151} 
       <ffffffffa018329a>{:ehci_hcd:ehci_watchdog+90} 
<ffffffff80142f30>{run_timer_softirq+336} 
       <ffffffff8013f723>{__do_softirq+83} <ffffffff8010f1e0>{default_idle+0} 
       <ffffffff8013f7b5>{do_softirq+53} <ffffffff80110f0f>{apic_timer_interrupt+99} 
        <EOI> <ffffffff8010f200>{default_idle+32} <ffffffff8010f69a>{cpu_idle+26} 
       

Code: 80 7d 00 00 7e f8 e9 01 c4 ff ff f3 90 80 3b 00 7e f9 e9 be 
console shuts up ...
  
-- 
USB is for mice, FireWire is for men!

sUse lINUX ag, nÃRNBERG


-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_idP47&alloc_id808&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