From sigsegv@endeavour.localnet.radiotube.org  Mon Jul 28 08:06:35 2003
Return-Path: <sigsegv@endeavour.localnet.radiotube.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id B97FD37B401
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 28 Jul 2003 08:06:35 -0700 (PDT)
Received: from endeavour.localnet.radiotube.org (tromso-dhcp-235-22.bluecom.no [62.101.235.22])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 7B45B43F93
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 28 Jul 2003 08:06:34 -0700 (PDT)
	(envelope-from sigsegv@endeavour.localnet.radiotube.org)
Received: from endeavour.localnet.radiotube.org (localhost [127.0.0.1])
	by endeavour.localnet.radiotube.org (8.12.9/8.12.9) with ESMTP id h6SF6WOS000921
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 28 Jul 2003 17:06:33 +0200 (CEST)
	(envelope-from sigsegv@endeavour.localnet.radiotube.org)
Received: (from sigsegv@localhost)
	by endeavour.localnet.radiotube.org (8.12.9/8.12.9/Submit) id h6SF6WgG000920;
	Mon, 28 Jul 2003 17:06:32 +0200 (CEST)
Message-Id: <200307281506.h6SF6WgG000920@endeavour.localnet.radiotube.org>
Date: Mon, 28 Jul 2003 17:06:32 +0200 (CEST)
From: Jan-Espen Pettersen <sigsegv@leakingmemory.org>
Reply-To: Jan-Espen Pettersen <sigsegv@leakingmemory.org>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: data corruption with usb umass da msdosfs digital camera 5.1-CURRENT
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         54982
>Category:       kern
>Synopsis:       data corruption with usb umass da msdosfs digital camera 5.1-CURRENT
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    jmg
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jul 28 08:10:18 PDT 2003
>Closed-Date:    Thu Dec 04 09:29:18 PST 2003
>Last-Modified:  Thu Dec 04 09:29:18 PST 2003
>Originator:     Jan-Espen Pettersen
>Release:        FreeBSD 5.1-CURRENT i386
>Organization:
>Environment:
System: FreeBSD endeavour.localnet.radiotube.org 5.1-CURRENT FreeBSD 5.1-CURRENT #19: Thu Jul 24 18:04:14 CEST 2003 sigsegv@endeavour.sky.dom:/usr/obj/usr/src/FreeBSD-CURRENT/sys/ENDEAVOUR i386
nForce2 chipset, aBit NF7-M motherboard, no known hardware problems, no known memory problems.
FSB, PCI, CPU, are overclocked, but seems to work without problems. No problem running 'make buildworld'
>Description:
The commits at 2003/07/15 15:42:37 PDT and 2003/07/15 16:12:54 PDT introduced
a data corruption problem with the USB, umass, da system. I was able to retrieve
valid jpeg images from the msdos filesystem on the device before the first of
the two commits, without any problems. umass was unusable after the fisrt commit.
After the second commit I was able to mount th efilesystem, but the files were corrupted.
I ktraced 'cat < phto001.jpg' the image seemed to contain data which probably came from
uninitialized memory (parts of the files were just zeros, and other parts were cvs
output lines (I would guess it was previously free'ed data from cvs, ttyp?, etc)).
                                                                                               
Going back to sources just before the first commit did always fix the problem.
                                                                                               
The problem does exist on both usb0 and usb1
                                                                                               
cvs-src mailinglist URLs:
http://lists.freebsd.org/pipermail/cvs-src/2003-July/007150.html
http://lists.freebsd.org/pipermail/cvs-src/2003-July/007153.html
                                                                                               
A workaround is to use sources older than 2003/07/15 15:42:37 PDT.
                                                                                               
ohci0: <OHCI (generic) USB controller> mem 0xef003000-0xef003fff irq 12 at device 2.0 on pci0
usb0: OHCI version 1.0, legacy support
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: (0x10de) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
ohci1: <OHCI (generic) USB controller> mem 0xef004000-0xef004fff irq 10 at device 2.1 on pci0
usb1: OHCI version 1.0, legacy support
usb1: <OHCI (generic) USB controller> on ohci1
usb1: USB revision 1.0
uhub1: (0x10de) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 3 ports with 3 removable, self powered
                                                                                               
umass0: DSC DIGITAL CAMERA USB, rev 1.00/1.00, addr 2
umass0: 8070i (ATAPI) over CBI; quirks = 0x0000
umass0:0:0:-1: Attached to scbus0
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <IDIGAT L ACEMAR .100> Removable Direct Access SCSI-0 device
da0: 1.000MB/s transfers
da0: 122MB (250880 512 byte sectors: 64H 32S/T 122C)
                                                                                               

	
>How-To-Repeat:
Insert an usb digital camera, mount it, and try to read files from it.
	
>Fix:
I don't know yet.
	


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->jmg 
Responsible-Changed-By: maxim 
Responsible-Changed-When: Mon Jul 28 08:21:58 PDT 2003 
Responsible-Changed-Why:  
John, could you please take a look at this issue?  The submitter 
mentions your commits. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=54982 
State-Changed-From-To: open->feedback 
State-Changed-By: jmg 
State-Changed-When: Tue Aug 26 14:25:47 PDT 2003 
State-Changed-Why:  
please reply and include a complete dmesg and kernel config file. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=54982 

From: Jan-Espen Pettersen <sigsegv@leakingmemory.org>
To: freebsd-gnats-submit@FreeBSD.org
Cc: sigsegv@leakingmemory.org
Subject: Re: kern/54982: data corruption with usb umass da msdosfs digital
	camera 5.1-CURRENT
Date: 28 Aug 2003 23:18:11 +0200

 On Tue, 2003-08-26 at 23:26, John-Mark Gurney wrote:
 
 Copyright (c) 1992-2003 The FreeBSD Project.
 Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
         The Regents of the University of California. All rights reserved.
 FreeBSD 5.1-CURRENT #23: Sun Aug 10 23:05:34 CEST 2003
     sigsegv@endeavour.localnet.radiotube.org:/usr/obj/usr/src/FreeBSD-CURRENT/sys/ENDEAVOUR
 Preloaded elf kernel "/boot/kernel/kernel" at 0xc04b3000.
 Preloaded elf module "/boot/kernel/linux.ko" at 0xc04b3244.
 Timecounter "i8254"  frequency 1193182 Hz
 CPU: AMD Athlon(tm)  (2103.00-MHz 686-class CPU)
   Origin = "AuthenticAMD"  Id = 0x681  Stepping = 1
   Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
   AMD Features=0xc0400000<AMIE,DSP,3DNow!>
 real memory  = 528416768 (503 MB)
 avail memory = 508104704 (484 MB)
 Pentium Pro MTRR support enabled
 npx0: <math processor> on motherboard
 npx0: INT 16 interface
 pcibios: BIOS version 2.10
 Using $PIR table, 11 entries at 0xc00fdeb0
 pcib0: <Host to PCI bridge> at pcibus 0 on motherboard
 pci0: <PCI bus> on pcib0
 pci0: <memory, RAM> at device 0.1 (no driver attached)
 pci0: <memory, RAM> at device 0.2 (no driver attached)
 pci0: <memory, RAM> at device 0.3 (no driver attached)
 pci0: <memory, RAM> at device 0.4 (no driver attached)
 pci0: <memory, RAM> at device 0.5 (no driver attached)
 isab0: <PCI-ISA bridge> at device 1.0 on pci0
 isa0: <ISA bus> on isab0
 pci0: <serial bus, SMBus> at device 1.1 (no driver attached)
 ohci0: <OHCI (generic) USB controller> mem 0xef003000-0xef003fff irq 11 at device 2.0 on pci0
 usb0: OHCI version 1.0, legacy support
 usb0: <OHCI (generic) USB controller> on ohci0
 usb0: USB revision 1.0
 uhub0: (0x10de) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 3 ports with 3 removable, self powered
 ohci1: <OHCI (generic) USB controller> mem 0xef004000-0xef004fff irq 5 at device 2.1 on pci0
 usb1: OHCI version 1.0, legacy support
 usb1: <OHCI (generic) USB controller> on ohci1
 usb1: USB revision 1.0
 uhub1: (0x10de) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub1: 3 ports with 3 removable, self powered
 pci0: <serial bus, USB> at device 2.2 (no driver attached)
 pci0: <network, ethernet> at device 4.0 (no driver attached)
 pci0: <multimedia, audio> at device 6.0 (no driver attached)
 pcib1: <PCIBIOS PCI-PCI bridge> at device 8.0 on pci0
 pci1: <PCI bus> on pcib1
 pci_cfgintr: 1:10 INTA BIOS irq 10
 rl0: <RealTek 8139 10/100BaseTX, rev. 8139D/8100B/8100C> port 0xc000-0xc0ff mem 0xee000000-0xee0000ff irq 10 at device 10.0 on pci1
 rl0: Ethernet address: 00:0a:cd:05:58:21
 miibus0: <MII bus> on rl0
 rlphy0: <RealTek internal media interface> on miibus0
 rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
 atapci0: <nVidia nForce2 UDMA133 controller> port 0xf000-0xf00f at device 9.0 on pci0
 ata0: at 0x1f0 irq 14 on atapci0
 ata1: at 0x170 irq 15 on atapci0
 pcib2: <PCI-PCI bridge> at device 30.0 on pci0
 pci2: <PCI bus> on pcib2
 pci2: <display, VGA> at device 0.0 (no driver attached)
 pmtimer0 on isa0
 atkbdc0: <Keyboard controller (i8042)> at port 0x64,0x60 on isa0
 atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
 kbd0 at atkbd0
 psm0: <PS/2 Mouse> irq 12 on atkbdc0
 psm0: model Generic PS/2 mouse, device ID 0
 fdc0: <Enhanced floppy controller (i82077, NE72065 or clone)> at port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on isa0
 fdc0: FIFO enabled, 8 bytes threshold
 fd0: <1440-KB 3.5" drive> on fdc0 drive 0
 sc0: <System console> at flags 0x100 on isa0
 sc0: VGA <16 virtual consoles, flags=0x300>
 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
 unknown: <PNP0303> can't assign resources (port)
 unknown: <PNP0f13> can't assign resources (irq)
 unknown: <PNP0700> can't assign resources (port)
 Timecounter "TSC"  frequency 2102996754 Hz
 Timecounters tick every 10.000 msec
 ad0: 76319MB <ST380011A> [155061/16/63] at ata0-master UDMA100
 acd0: CDROM <CD-ROM 56X/AKH> at ata1-master PIO4
 Mounting root from ufs:/dev/ad0s1a
 
 
 kernel config:
 
 machine		i386
 cpu		I486_CPU
 cpu		I586_CPU
 cpu		I686_CPU
 ident		ENDEAVOUR
 
 makeoptions	MODULES_OVERRIDE="linux sound aout syscons acpi smbfs"
 
 #To statically compile in device wiring instead of /boot/device.hints
 #hints		"GENERIC.hints"		#Default places to look for devices.
 
 makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
 
 options 	SCHED_4BSD		#4BSD scheduler
 options 	INET			#InterNETworking
 options 	INET6			#IPv6 communications protocols
 options 	FFS			#Berkeley Fast Filesystem
 options 	SOFTUPDATES		#Enable FFS soft updates support
 options 	UFS_ACL			#Support for access control lists
 options 	UFS_DIRHASH		#Improve performance on big directories
 #options 	MD_ROOT			#MD is a potential root device
 options 	NFSCLIENT		#Network Filesystem Client
 options 	NFSSERVER		#Network Filesystem Server
 #options 	NFS_ROOT		#NFS usable as /, requires NFSCLIENT
 options 	MSDOSFS			#MSDOS Filesystem
 options 	CD9660			#ISO 9660 Filesystem
 options 	PROCFS			#Process filesystem (requires PSEUDOFS)
 options 	PSEUDOFS		#Pseudo-filesystem framework
 options 	COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
 options 	COMPAT_FREEBSD4		#Compatible with FreeBSD4
 options 	SCSI_DELAY=15000	#Delay (in ms) before probing SCSI
 options 	KTRACE			#ktrace(1) support
 options 	SYSVSHM			#SYSV-style shared memory
 options 	SYSVMSG			#SYSV-style message queues
 options 	SYSVSEM			#SYSV-style semaphores
 options 	_KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
 options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
 options 	AHC_REG_PRETTY_PRINT	# Print register bitfields in debug
 					# output.  Adds ~128k to driver.
 options 	AHD_REG_PRETTY_PRINT	# Print register bitfields in debug
 					# output.  Adds ~215k to driver.
 
 # Debugging for use in -current
 options 	DDB			#Enable the kernel debugger
 options 	INVARIANTS		#Enable calls of extra sanity checking
 options 	INVARIANT_SUPPORT	#Extra sanity checks of internal structures, required by INVARIANTS
 options 	WITNESS			#Enable checks to detect deadlocks and cycles
 options 	WITNESS_SKIPSPIN	#Don't run witness on spinlocks for speed
 
 # To make an SMP kernel, the next two are needed
 #options 	SMP			# Symmetric MultiProcessor Kernel
 #options 	APIC_IO			# Symmetric (APIC) I/O
 
 device		isa
 #device		eisa
 device		pci
 
 # Floppy drives
 device		fdc
 
 # ATA and ATAPI devices
 device		ata
 device		atadisk			# ATA disk drives
 device		atapicd			# ATAPI CDROM drives
 #device		atapifd			# ATAPI floppy drives
 #device		atapist			# ATAPI tape drives
 options 	ATA_STATIC_ID		#Static device numbering
 
 # SCSI Controllers
 #device		ahb		# EISA AHA1742 family
 #device		ahc		# AHA2940 and onboard AIC7xxx devices
 #device		ahd		# AHA39320/29320 and onboard AIC79xx devices
 #device		amd		# AMD 53C974 (Tekram DC-390(T))
 #device		isp		# Qlogic family
 #device		mpt		# LSI-Logic MPT-Fusion
 #device		ncr		# NCR/Symbios Logic
 #device		sym		# NCR/Symbios Logic (newer chipsets + those of `ncr')
 #device		trm		# Tekram DC395U/UW/F DC315U adapters
 
 #device		adv		# Advansys SCSI adapters
 #device		adw		# Advansys wide SCSI adapters
 #device		aha		# Adaptec 154x SCSI adapters
 #device		aic		# Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
 #device		bt		# Buslogic/Mylex MultiMaster SCSI adapters
 
 #device		ncv		# NCR 53C500
 #device		nsp		# Workbit Ninja SCSI-3
 #device		stg		# TMC 18C30/18C50
 
 # RAID controllers interfaced to the SCSI subsystem
 #device		asr		# DPT SmartRAID V, VI and Adaptec SCSI RAID
 #device		ciss		# Compaq Smart RAID 5*
 #device		dpt		# DPT Smartcache III, IV - See NOTES for options!
 #device		iir		# Intel Integrated RAID
 #device		mly		# Mylex AcceleRAID/eXtremeRAID
 
 # SCSI peripherals
 device		scbus		# SCSI bus (required for SCSI)
 #device		ch		# SCSI media changers
 device		da		# Direct Access (disks)
 #device		sa		# Sequential Access (tape etc)
 #device		cd		# CD
 device		pass		# Passthrough device (direct SCSI access)
 #device		ses		# SCSI Environmental Services (and SAF-TE)
 
 # RAID controllers
 #device		aac		# Adaptec FSA RAID
 #device		aacp		# SCSI passthrough for aac (requires CAM)
 #device		amr		# AMI MegaRAID
 #device		ida		# Compaq Smart RAID
 #device		ips		# IBM (Adaptec) ServeRAID
 #device		mlx		# Mylex DAC960 family
 #device		pst		# Promise Supertrak SX6000
 #device		twe		# 3ware ATA RAID
 
 # atkbdc0 controls both the keyboard and the PS/2 mouse
 device		atkbdc		# AT keyboard controller
 device		atkbd		# AT keyboard
 device		psm		# PS/2 mouse
 
 device		vga		# VGA video card driver
 
 device		splash		# Splash screen and screen saver support
 
 # syscons is the default console driver, resembling an SCO console
 device		sc
 
 # Enable this for the pcvt (VT220 compatible) console driver
 #device		vt
 #options 	XSERVER			# support for X server on a vt console
 #options 	FAT_CURSOR		# start with block cursor
 
 device		agp		# support several AGP chipsets
 
 # Floating point support - do not disable.
 device		npx
 
 # Power management support (see NOTES for more options)
 #device		apm
 # Add suspend/resume support for the i8254.
 device		pmtimer
 
 # PCCARD (PCMCIA) support
 # Pcmcia and cardbus bridge support
 #device		cbb			# cardbus (yenta) bridge
 #device		pcic			# ExCA ISA and PCI bridges
 #device		pccard			# PC Card (16-bit) bus
 #device		cardbus			# CardBus (32-bit) bus
 
 # Serial (COM) ports
 #device		sio		# 8250, 16[45]50 based serial ports
 
 # Parallel port
 #device		ppc
 device		ppbus		# Parallel port bus (required)
 #device		lpt		# Printer
 #device		plip		# TCP/IP over parallel
 #device		ppi		# Parallel port interface device
 #device		vpo		# Requires scbus and da
 
 
 # PCI Ethernet NICs.
 #device		de		# DEC/Intel DC21x4x (``Tulip'')
 #device		em		# Intel PRO/1000 adapter Gigabit Ethernet Card
 #device		txp		# 3Com 3cR990 (``Typhoon'')
 #device		vx		# 3Com 3c590, 3c595 (``Vortex'')
 
 # PCI Ethernet NICs that use the common MII bus controller code.
 # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
 device		miibus		# MII bus support
 #device		dc		# DEC/Intel 21143 and various workalikes
 #device		fxp		# Intel EtherExpress PRO/100B (82557, 82558)
 #device		pcn		# AMD Am79C97x PCI 10/100 (precedence over 'lnc')
 device		rl		# RealTek 8129/8139
 #device		sf		# Adaptec AIC-6915 (``Starfire'')
 #device		sis		# Silicon Integrated Systems SiS 900/SiS 7016
 #device		sk		# SysKonnect SK-984x and SK-982x gigabit ethernet
 #device		ste		# Sundance ST201 (D-Link DFE-550TX)
 #device		ti		# Alteon Networks Tigon I/II gigabit ethernet
 #device		tl		# Texas Instruments ThunderLAN
 #device		tx		# SMC EtherPower II (83c170 ``EPIC'')
 #device		vr		# VIA Rhine, Rhine II
 #device		wb		# Winbond W89C840F
 #device		xl		# 3Com 3c90x (``Boomerang'', ``Cyclone'')
 #device		bge		# Broadcom BCM570xx Gigabit Ethernet
 
 # ISA Ethernet NICs.  pccard nics included.
 #device		cs		# Crystal Semiconductor CS89x0 NIC
 # 'device ed' requires 'device miibus'
 device		ed		# NE[12]000, SMC Ultra, 3c503, DS8390 cards
 #device		ex		# Intel EtherExpress Pro/10 and Pro/10+
 #device		ep		# Etherlink III based cards
 #device		fe		# Fujitsu MB8696x based cards
 #device		ie		# EtherExpress 8/16, 3C507, StarLAN 10 etc.
 #device		lnc		# NE2100, NE32-VL Lance Ethernet cards
 #device		sn		# SMC's 9000 series of ethernet chips
 #device		xe		# Xircom pccard ethernet
 
 # ISA devices that use the old ISA shims
 #device		le
 
 # Wireless NIC cards
 #device		wlan		# 802.11 support
 #device		an		# Aironet 4500/4800 802.11 wireless NICs. 
 #device		awi		# BayStack 660 and others
 #device		wi		# WaveLAN/Intersil/Symbol 802.11 wireless NICs.
 #device		wl		# Older non 802.11 Wavelan wireless NIC.
 
 # Pseudo devices - the number indicates how many units to allocate.
 device		random		# Entropy device
 device		loop		# Network loopback
 device		ether		# Ethernet support
 #device		sl		# Kernel SLIP
 #device		ppp		# Kernel PPP
 #device		tun		# Packet tunnel.
 device		pty		# Pseudo-ttys (telnet etc)
 device		md		# Memory "disks"
 #device		gif		# IPv6 and IPv4 tunneling
 #device		faith		# IPv6-to-IPv4 relaying (translation)
 
 # The `bpf' device enables the Berkeley Packet Filter.
 # Be aware of the administrative consequences of enabling this!
 device		bpf		# Berkeley packet filter
 
 # USB support
 device		uhci		# UHCI PCI->USB interface
 device		ohci		# OHCI PCI->USB interface
 device		usb		# USB Bus (required)
 #device		udbp		# USB Double Bulk Pipe devices
 device		ugen		# Generic
 device		uhid		# "Human Interface Devices"
 device		ukbd		# Keyboard
 #device		ulpt		# Printer
 device		umass		# Disks/Mass storage - Requires scbus and da
 device		ums		# Mouse
 #device		urio		# Diamond Rio 500 MP3 player
 #device		uscanner	# Scanners
 # USB Ethernet, requires mii
 #device		aue		# ADMtek USB ethernet
 #device		axe		# ASIX Electronics USB ethernet
 #device		cue		# CATC USB ethernet
 #device		kue		# Kawasaki LSI USB ethernet
 
 # FireWire support
 #device		firewire	# FireWire bus code
 #device		sbp		# SCSI over FireWire (Requires scbus and da)
 #device		fwe		# Ethernet over FireWire (non-standard!)
 
 options USB_DEBUG
 
 http://www.freebsd.org/cgi/query-pr.cgi?pr=54982
 
 

From: Barney Wolff <barney@databus.com>
To: freebsd-gnats-submit@FreeBSD.org, sigsegv@leakingmemory.org
Cc:  
Subject: Re: kern/54982: data corruption with usb umass da msdosfs digital
 camera 5.1-CURRENT
Date: Sat, 13 Sep 2003 14:14:41 -0400

 I have the same problem with my ohci controller.  The bad data always
 starts at byte 4096.  As requested, here are the usb/ohci lines from my
 dmesg:
 ohci0: <OHCI (generic) USB controller> mem 0xe3800000-0xe3800fff irq 12 
 at device 0.0 on pci2
 pcib2: device ohci0 requested decoded memory range 0xe3800000-0xe3800fff
 usb0: OHCI version 1.0, legacy support
 usb0: <OHCI (generic) USB controller> on ohci0
 usb0: USB revision 1.0
 umass0: Sony DSC Sony, rev 1.00/4.01, addr 2
 umass0: RBC over CBI; quirks = 0x0000
 umass0:4:0:-1: Attached to scbus4
 pass3 at umass-sim0 bus 0 target 0 lun 0
 da2 at umass-sim0 bus 0 target 0 lun 0
 ohci_alloc_std_chain: start len=4096
 ohci_alloc_std_chain: start len=4096
 ohci_alloc_std_chain: start len=4096
 ohci_alloc_std_chain: start len=16384
   (134 duplicate lines)
 ohci_alloc_std_chain: start len=16384
 ohci_alloc_std_chain: start len=12288
 ohci_rhsc: sc=0xc615f000 xfer=0xc6091800 hstatus=0x00000000
 ohci_rhsc: change=0x02
 umass0: at uhub0 port 1 (addr 2) disconnected
 (da2:umass-sim0:0:0:0): lost device
 (da2:umass-sim0:0:0:0): removing device entry
 (pass3:umass-sim0:0:0:0): lost device
 (pass3:umass-sim0:0:0:0): removing device entry
 ohci_device_bulk_close: pipe=0xc66f9d00
 ohci_device_bulk_close: pipe=0xc66f9c80
 umass0: detached
 ohci_device_ctrl_close: pipe=0xc66fa180
 ~
 
 

From: Dave Truesdell <davet@ttfn.com>
To: freebsd-gnats-submit@FreeBSD.org, sigsegv@leakingmemory.org
Cc:  
Subject: Re: kern/54982: data corruption with usb umass da msdosfs digital
 camera 5.1-CURRENT
Date: Wed, 24 Sep 2003 23:42:12 -0700

 I am encountering this problem as well.  What I've seen so far is this:
 
 1. The corruption does not occur with all UMASS devices.  For example, I 
 see data corruption with a Creative Labs MUVO (128M) and NEXDISK (256M) 
 devices, but not with an Easydisc (128M) device.
 
 2. I've only seen the corruption with OHCI based controllers.  When I 
 connect the same device to a UHCI based machine, built from an identical 
 copy of the source tree, I see no corruption.
 
 3. The pattern of corruption is decidely non-random.  If you view the 
 file as a series of 4K blocks numbered 0 to N, the corruption I've seen 
 follows the following pattern:
     (B == a zero filled 4k block)
 
 Original: 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 ...
 Corrupt:  0  3  2  B  4  7  6  B  8 11 10  B 12 15 14  B ...
 
 I can provide logs of a file copy done on both the OHCI and UHCI based 
 systems done with hw.usb.debug=3 hw.usb.uhci.debug=6 hw.usb.ohci.debug=6 
 and hw.usb.umass.debug=4294901760 if you wish.  They are far too long to 
 attach here.
 
 This test was last run on 5.1-CURRENT cvsup'd on Sep 17th 2003.
 
 
State-Changed-From-To: feedback->patched 
State-Changed-By: jmg 
State-Changed-When: Wed Dec 3 10:42:02 PST 2003 
State-Changed-Why:  
please check to see if rev 1.139 of sys/dev/usb/ohci.c fixes this problem. 
I will close it in the next week or two if no response is made 

http://www.freebsd.org/cgi/query-pr.cgi?pr=54982 

From: Jan-Espen Pettersen <sigsegv@leakingmemory.org>
To: freebsd-gnats-submit@FreeBSD.org
Cc: sigsegv@leakingmemory.org
Subject: Re: kern/54982: data corruption with usb umass da msdosfs digital
	camera 5.1-CURRENT
Date: Thu, 04 Dec 2003 00:46:18 +0100

 On Wed, 2003-12-03 at 19:43, John-Mark Gurney wrote:
 > please check to see if rev 1.139 of sys/dev/usb/ohci.c fixes this problem.
 > I will close it in the next week or two if no response is made
 
 I tested it, and it works. Read 8 jpgs from my camera without any
 problems, with latest ohci.c. You have my vote for close.
 
 http://www.freebsd.org/cgi/query-pr.cgi?pr=54982
 
State-Changed-From-To: patched->closed 
State-Changed-By: jmg 
State-Changed-When: Thu Dec 4 09:28:36 PST 2003 
State-Changed-Why:  
patch confirmed working.  no need for MFC since the code the patch fixes isn't 
in -stable. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=54982 
>Unformatted:
