tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: bus_dmamap_sync() for uhci(4)

Hash: SHA1


On Jun 16, 2008, at 16:34, Manuel Bouyer wrote:
On Sun, Jun 15, 2008 at 05:45:50PM -0400, Michael Lorenz wrote:
Here's what it did on my O2:
- - the USB-IDE bridge was occasionally identified as full speed device
but it's high speed, usually when booting cold with the disk plugged
in. Unplugging it and plugging it into a different port usually got
it attached to ehci.
- - the disk survived half an hour bonnie++ on both ehci and uhci
without any errors from the kernel, so you fixed at least the HBA
Writes are still screwy though:
- - newfs fails to create a root directory on both ehci and uhci. fsck
created it when forced to check the filesystem
- - interrupting bonnie++, unmounting and running fsck -f yields many,
many errors while fsck claims the filesystem is clean. Running fsck -
f again still gives errors, even when the filesystem was mounted with
- -o sync or -o softdep and fsck claimed to have fixed all errors. I
think it's USB-related because the O2's SCSI disks show no such
behaviour - everything works fine there.

I finally installed -current on my O2, and plugged in my VIA-based PCI card.
My O2 is:
                   System: IP32
                Processor: 150 Mhz R10000, with FPU
     Primary I-cache size: 32 Kbytes
     Primary D-cache size: 32 Kbytes
     Secondary cache size: 1024 Kbytes
              Memory size: 192 Mbytes
                 Graphics: CRM, Rev C
                    Audio: A3 version 1
                SCSI Disk: scsi(0)disk(2)
               SCSI CDROM: scsi(0)cdrom(4)

Mine's a 200MHz R5k with 256MB - shouldn't make a difference.

A USB 2.0 key works fine, no problems:
- newfs'd as ffs on sparc64, and copy a file to it
- fsck_ffs -f on sgimips doesn't find errors
- I could read the file, the checksum match
- newfs_ffs on sgimips
- fsck_ffs -f on sgimips doesn't find errors
- mount, copy /netbsd to it, umount
- mount again, cmp /netbsd /mnt/netbsd shows the files are identical.

the same key also works fine on uhci.
My umodem device also work fine.

Any chance to try on your hardware with different USB devices, or perhaps
different USB controller ?

I'll put the uhci into my U60 and put the U60's ohci into the O2 - let's see what happens. I'm by no means sure the uhci I have is ok - I just got it, never used it anywhere else. Unfortunately I don't have another uhci to try, just a bunch of ohci with or without ehci.

One thing that may be relevant: at one time, when I plugged in the USB
key I got on console:
crime: memory error address 37b4ca80 status 2040000
What does it mean ? I've not been able to reproduce it ...

Crime's complaining about an invalid memory address during a read coming from the CPU. Probably one of the R10k's speculative reads? That would explain why you can't reproduce it ( it's unrelated to USB ), why you didn't get a kernel fault ( it's not actually running code ) and why I don't see them ( the R5k doesn't do speculative reads )

have fun

Version: GnuPG v1.4.7 (Darwin)


Home | Main Index | Thread Index | Old Index