On Mon, 1 Mar 2004, Martin Diehl wrote:

> After I fixed the "you shall not DMA to the stack while using 
> usb_control_msg" issue and stopped the tx-path from using transfer_buffers 
> directly from skb (and thus probably not cache-line aligned) the 
> disconnect-badness warning didn't appear anymore. Neither does any 5a5a5a 
> bad entry. So it might be the slab corruption was caused by these driver 
> issues.

Seems I have to correct myself: the disconnect-badness warning can still 
be triggered. It seems I was to careful doing ifconfig down before 
physical disconnect... However, I haven't seen the 5a5a5a slab poisoned 
thing so far...

> BULK-IN and a SETUP TD, the latter one with CC=5, len=0. However, the new 
> observation is, while it happens with ohci_hcd on NEC-companion with or 
> without external hub - it seems it never happens when the device is 
> connected to a SiS USB-1.1 OHCI-HC! So it might even be a silicon issue 
> with the nec-ohci. Or the pci-interface of this guy is somewhat faster 
> exposing some race with the hcd.

Was too fast drawing this conclusion: meanwhile I've managed to trigger it 
with the SiS silicon as well. Probably it's just less likely. In fact this 
was a slightly different one, as the bad entry was taken as an ISO-TD! 
Note there is no ISO-endpoint in the whole usb-tree. But again, it's an 
almost-all-zero td and mistakenly considered ISO because it happens to 
come with TD_ISO/TD_DONE bits set. Anyway, it seems it's not broken HC.

ohci_hcd 0000:00:01.2: bad entry  7be5001
ohci_hcd 0000:00:01.2: td_hash[1]
ohci_hcd 0000:00:01.2:  entry td c7be5040; urb c7cf3bbc index 0; hw next td 07be5080
ohci_hcd 0000:00:01.2:      info f0140000 CC=f (CARRY) DI=0 IN R
ohci_hcd 0000:00:01.2:      cbp 07af9000 be 07af9fff (len 4096)
ohci_hcd 0000:00:01.2: bad? td c7be5001 (DONE); urb 00000000 index 0; hw next td 
00000000
ohci_hcd 0000:00:01.2:   info 00870000 CC=0 FC=0 DI=4 SF=0000
ohci_hcd 0000:00:01.2:   bp0 00000000 be 00000000
ohci_hcd 0000:00:01.2:     psw [0] =  0, CC=0 SIZE=0

> Hm, just speculation of course, but in td_submit_urb I see quite a number 
> of writel - could it be there might a readl missing somewhere do deal with 
> posted-writes on pci?

Just tried to add a readl(&ohci->regs->control) at the end of 
td_submit_urb - seems nothing improved so far...

Martin



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&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