Bug 162159 - [panic] USB errors leading to panic on DockStar 9.0-RC1/arm
Summary: [panic] USB errors leading to panic on DockStar 9.0-RC1/arm
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: arm (show other bugs)
Version: Unspecified
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-arm (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-29 23:50 UTC by Jan Bramkamp
Modified: 2019-01-07 05:33 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Bramkamp 2011-10-29 23:50:07 UTC
FreeBSD 9.0-RC1 boots into Multiuser on DockStar. A few seconds of disk I/O on USB mass storage devices later "USB error: address decoding error (addr=$HEX)" floods the RS232 console. They are stop as soon as all disk I/O is stopped. syslogd turns this into a feedback loop. (Nearly?) each log write results in new log messages. A "portsnap fetch" is enough on a fresh installation triggered the panic below.


console:
   fb9ds# portsnap fetch
   Looking up portsnap.FreeBSD.org mirrors... 5 mirrors found.
   Fetching snapshot tag from portsnap5.FreeBSD.org... done.
   Fetching snapshot metadata... done.
   Fetching snapshot generated at Sat Oct 29 00:11:11 UTC 2011:
   0e7e93882dbe7d6994a5598cd1cb310ecc53958054d3df100% of   64 MB  778 kBps 00m00s
   Extracting snapshot... done.
   Verifying snapshot integrity... 
 

backtrace:
 db> bt 
 Tracing pid 42848 tid 100070 td 0xc23ae000
 kdb_enter() at kdb_enter+0x14
 scp=0xc0a68174 rlv=0xc0a3da34 (panic+0xa0)
         rsp=0xc85129e0 rfp=0xc85129f4
         r5=0xc0c4933c r4=0x00000100
 panic() at panic+0x1c
 scp=0xc0a3d9b0 rlv=0xc0a75480 (turnstile_claim+0x204)
         rsp=0xc8512a08 rfp=0xc8512a20
 turnstile_claim() at turnstile_claim+0x104
 scp=0xc0a75380 rlv=0xc0a75608 (turnstile_wait+0x17c)
         rsp=0xc8512a24 rfp=0xc8512a48
         r6=0xc182e2a0 r5=0xc23ae000
         r4=0x00000000
 turnstile_wait() at turnstile_wait+0x14
 scp=0xc0a754a0 rlv=0xc0a30848 (_mtx_lock_sleep+0xbc)
         rsp=0xc8512a4c rfp=0xc8512a64
         r10=0xc21a4990 r8=0x00000000
         r7=0x00000000 r6=0xc23ae000 r5=0xc182e2a0 r4=0xc0d14780
 _mtx_lock_sleep() at _mtx_lock_sleep+0x14
 scp=0xc0a307a0 rlv=0xc0a30900 (_mtx_lock_flags+0x74)
         rsp=0xc8512a68 rfp=0xc8512a84
         r6=0xc0d200c0 r5=0x00000000
         r4=0x00000000
 _mtx_lock_flags() at _mtx_lock_flags+0x10
 scp=0xc0a3089c rlv=0xc0bd5a3c (vm_fault_hold+0x1548)
         rsp=0xc8512a88 rfp=0xc8512bb0
         r6=0x0000029c r5=0x00000000
         r4=0x0029c000
 vm_fault_hold() at vm_fault_hold+0x10
 scp=0xc0bd4504 rlv=0xc0bd6080 (vm_fault+0x38)
         rsp=0xc8512bb4 rfp=0xc8512bc8
         r10=0x00000002 r9=0xc8512ef8
         r8=0xc8512c70 r7=0xc23ae000 r6=0x20405000 r5=0x00000000
         r4=0x00000002
 vm_fault() at vm_fault+0x10
 scp=0xc0bd6058 rlv=0xc0c02490 (data_abort_handler+0x1e8)
         rsp=0xc8512bcc rfp=0xc8512c6c
         r4=0xc23a3360
 data_abort_handler() at data_abort_handler+0x10
 scp=0xc0c022b8 rlv=0xc0bf4b38 (address_exception_entry+0x50)
         rsp=0xc8512c70 rfp=0x00000000
         r10=0xc8512ef8 r9=0x00000000
         r8=0x00000000 r7=0x00000000 r6=0x00000000 r5=0xffff1004
         r4=0x656b614d

dmesg.boot (after a reboot):

 KDB: debugger backends: ddb
 KDB: current backend: ddb
 Copyright (c) 1992-2011 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 is a registered trademark of The FreeBSD Foundation.
 FreeBSD 9.0-RC1 #5: Sat Oct 29 19:57:58 CEST 2011
     root@t420.crest.dn42:/usr/obj/arm.arm/usr/src/sys/DOCKSTAR arm
 CPU: Feroceon 88FR131 rev 1 (Marvell core)
   DC enabled IC enabled WB enabled EABT branch prediction enabled
   16KB/32B 4-way Instruction cache
   16KB/32B 4-way write-back-locking-C Data cache
 real memory  = 134217728 (128 MB)
 avail memory = 125227008 (119 MB)
 SOC: Marvell 88F6281 rev A0, TClock 200MHz
 simplebus0: <Flattened device tree simple bus> on fdtbus0
 ic0: <Marvell Integrated Interrupt Controller> mem 0xf1020200-0xf102023b on simplebus0
 timer0: <Marvell CPU Timer> mem 0xf1020300-0xf102032f irq 1 on simplebus0
 Event timer "CPUTimer0" frequency 200000000 Hz quality 1000
 Timecounter "CPUTimer1" frequency 200000000 Hz quality 1000
 gpio0: <Marvell Integrated GPIO Controller> mem 0xf1010100-0xf101011f irq 35,36,37,38,39,40,41 on  simplebus0
 rtc0: <Marvell Integrated RTC> mem 0xf1010300-0xf1010307 on simplebus0
 mge0: <Marvell Gigabit Ethernet controller> mem 0xf1072000-0xf1073fff irq 12,13,14,11,46 on simpl ebus0
 mge0: Ethernet address: 02:50:43:91:f7:ea
 miibus0: <MII bus> on mge0
 ukphy0: <Generic IEEE 802.3u media interface> PHY 0 on miibus0
 ukphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000b aseT-FDX, 1000baseT-FDX-master, auto
 uart0: <16550 or compatible> mem 0xf1012000-0xf101201f irq 33 on simplebus0
 uart0: console (1056,n,8,1)
 uart1: <16550 or compatible> mem 0xf1012100-0xf101211f irq 34 on simplebus0
 ehci0: <Marvell Integrated USB 2.0 controller> mem 0xf1050000-0xf1050fff irq 48,19 on simplebus0
 usbus0: EHCI version 1.0
 usbus0: set host controller mode
 usbus0: <Marvell Integrated USB 2.0 controller> on ehci0
 cryptosoft0: <software crypto> on motherboard
 Timecounters tick every 1.000 msec
 IPsec: Initialized Security Association Processing.
 ipfw2 (+ipv6) initialized, divert enabled, nat loadable, rule-based forwarding enabled, default t o accept, logging disabled
 DUMMYNET 0 with IPv6 initialized (100409)
 load_dn_sched dn_sched FIFO loaded
 load_dn_sched dn_sched PRIO loaded
 load_dn_sched dn_sched QFQ loaded
 load_dn_sched dn_sched RR loaded
 load_dn_sched dn_sched WF2Q+ loaded
 usbus0: 480Mbps High Speed USB v2.0
 Root mount waiting for: usbus0
 ugen0.1: <Marvell> at usbus0
 uhub0: <Marvell EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
 uhub0: 1 port with 1 removable, self powered
 Root mount waiting for: usbus0
 ugen0.2: <vendor 0x05e3> at usbus0
 uhub1: <vendor 0x05e3 USB2.0 Hub, class 9/0, rev 2.00/6.03, addr 2> on usbus0

 Root mount waiting for: usbus0
 uhub1: 4 ports with 4 removable, self powered
 Root mount waiting for: usbus0
 ugen0.3: <SMI Corporation> at usbus0
 umass0: <SMI Corporation USB DISK, class 0/0, rev 2.00/11.00, addr 3> on usbus0
 da0 at umass-sim0 bus 0 scbus0 target 0 lun 0
 da0: <USB Stick 2.0 ME 1100> Removable Direct Access SCSI-0 device 
 da0: 40.000MB/s transfers
 da0: 1912MB (3915776 512 byte sectors: 255H 63S/T 243C)
 ugen0.4: <vendor 0x0d8c> at usbus0
 uaudio0: <vendor 0x0d8c C-Media USB Headphone Set, class 0/0, rev 1.10/1.00, addr 4> on usbus0
 uaudio0: Play: 48000 Hz, 2 ch, 16-bit S-LE PCM format
 uaudio0: Record: 48000 Hz, 1 ch, 16-bit S-LE PCM format
 uaudio0: No midi sequencer
 pcm0: <USB audio> on uaudio0
 Trying to mount root from ufs:/dev/ufs/root []...
 WARNING: / was not properly dismounted

dmesg (problem reappears after a few seconds):
 USB error: address decoding error (addr=0x4190200)
 USB error: address decoding error (addr=0x4191000)
 USB error: address decoding error (addr=0x41981c0)
 USB error: address decoding error (addr=0x4199000)
 USB error: address decoding error (addr=0x41a0200)
 USB error: address decoding error (addr=0x41a1000)
 USB error: address decoding error (addr=0x41a8000)
 USB error: address decoding error (addr=0x41a9000)
 USB error: address decoding error (addr=0x41b0200)
 USB error: address decoding error (addr=0x41b1000)
 USB error: address decoding error (addr=0x41b8000)
 USB error: address decoding error (addr=0x41b9000)
 USB error: address decoding error (addr=0x41c0000)
 USB error: address decoding error (addr=0x41c1000)
 USB error: address decoding error (addr=0x41c8200)
 USB error: address decoding error (addr=0x41c9000)
 USB error: address decoding error (addr=0x41ca000)
 USB error: address decoding error (addr=0x41d11c0)
 USB error: address decoding error (addr=0x41d2000)
 USB error: address decoding error (addr=0x41d9100)
 USB error: address decoding error (addr=0x41c9000)
 USB error: address decoding error (addr=0x41c9000)
 ... more of the same format (/usr/src/sys/dev/usb/controller/ehci_mv.c

kernel config:
 #
 # Custom kernel for Seagate DockStar (Marvell SheevaPlug based) devices.
 #
 # $FreeBSD: stable/9/sys/arm/conf/DOCKSTAR 224699 2011-08-07 20:16:46Z rmacklem $
 #
 
 ident           DOCKSTAR
 include         "../mv/kirkwood/std.sheevaplug"
 
 options         SOC_MV_KIRKWOOD
 makeoptions     MODULES_OVERRIDE=""
 
 #makeoptions    DEBUG=-g                #Build kernel with gdb(1) debug symbols
 makeoptions     WERROR="-Werror"
 
 options         SCHED_4BSD              #4BSD scheduler
 options         INET                    #InterNETworking
 options         INET6                   #IPv6 communications protocols
 options         FFS                     #Berkeley Fast Filesystem
 options         NFSCL                   #New Network Filesystem Client
 options         NFSLOCKD                #Network Lock Manager
 options         NFS_ROOT                #NFS usable as /, requires NFSCL
 #options        BOOTP
 #options        BOOTP_NFSROOT
 #options        BOOTP_NFSV3
 #options        BOOTP_COMPAT
 #options        BOOTP_WIRED_TO=mge0
 
 # Root fs on USB device
 options        ROOTDEVNAME=\"ufs:/dev/ufs/root\"
 
 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         MUTEX_NOINLINE
 options         RWLOCK_NOINLINE
 options         NO_FFS_SNAPSHOT
 options         NO_SWAPPING
 
 # Debugging
 options         ALT_BREAK_TO_DEBUGGER
 options         DDB
 options         KDB
 
 # Pseudo devices
 device          md
 device          random
 device          pty
 device          loop
 
 # Serial ports
 device          uart
 
 # Networking
 device          ether
 device          mge                     # Marvell Gigabit Ethernet controller
 device          mii
 device          bpf
 options         HZ=1000
 options         DEVICE_POLLING
 device          vlan
 
 # USB
 #options        USB_DEBUG       # enable debug msgs
 device          usb
 device          ehci
 device          uhci
 device          ohci
 device          umass
 device          scbus
 device          pass
 device          da
 
 # Flattened Device Tree
 options         FDT
 options         FDT_DTB_STATIC
 makeoptions     FDT_DTS_FILE=dockstar.dts
 
 # Crypto
 device          crypto
 options         KGSSAPI
 
 # IPSec
 device          enc
 options         IPSEC
 options         IPSEC_NAT_T
 
 # Disk Encryption
 options         GEOM_ELI
 
 # IPFW support
 options         IPFIREWALL
 options         IPFIREWALL_DEFAULT_TO_ACCEPT
 options         IPFIREWALL_FORWARD
 options         IPFIREWALL_VERBOSE
 options         IPFIREWALL_VERBOSE_LIMIT=100
 options         DUMMYNET
 options         IPDIVERT
 
 # Partition support
 options         GEOM_PART_BSD
 options         GEOM_PART_GPT
 options         GEOM_PART_MBR
 options         GEOM_LABEL
 
 # UFS
 options         UFS_ACL
 options         UFS_DIRHASH
 options         SOFTUPDATES
 
 # FAT support
 options         MSDOSFS
 
 # Misc FSs
 options         PROCFS
 options         PSEUDOFS
 
 # Sound
 device          sound
 device          snd_uaudio

Fix: 

no known fix/workaround
How-To-Repeat: cd /usr/src
make buildworld buildkernel # tested on amd64
make buildworld buildkernel TARGET_ARCH=arm KERNCONF=DOCKSTAR
gpart create -s mbr da0 # da0 is a umass dev
gpart add -s 64M -t fat32 -i 1 && newfs_msdos -F 32 -L KERN da0s1
gpart add -t freebsd && newfs -jLroot
mount -t msdosfs /dev/msdosfs/KERN # use jeff doozans u-boot to boot from fat32
cp /usr/obj/arm.arm/usr/src/sys/DOCKSTAR/kernel.bin /mnt
umount /mnt
mount /dev/ufs/root /mnt
make installworld distribution TARGET_ARCH=arm DESTDIR=/mnt
dd of=/mnt/etc/rc.conf <<EOF
  hostname="fb9ds.crest.dn42"
  ifconfig_mge0="DHCP"
  sshd_enable="YES"
  ntpdate_enable="YES"
  ntpd_enable="YES"
Comment 1 Hans Petter Selasky 2011-10-30 20:19:35 UTC
On Sunday 30 October 2011 00:42:41 Jan Bramkamp wrote:
> >Number:         162159
> >Category:       arm
> >Synopsis:       USB errors leading to panic on DockStar 9.0-RC1/arm
> >Confidential:   no
> >Severity:       critical
> >Priority:       low
> >Responsible:    freebsd-arm
> >State:          open
> >Quarter:
> >Keywords:
> >Date-Required:
> >Class:          sw-bug
> >Submitter-Id:   current-users
> >Arrival-Date:   Sat Oct 29 22:50:07 UTC 2011
> >Closed-Date:
> >Last-Modified:
> >Originator:     Jan Bramkamp
> >Release:        9.0-RC1 r226591
> >Organization:
> 
> >Environment:
> FreeBSD fb9ds.crest.dn42 9.0-RC1 FreeBSD 9.0-RC1 #5: Sat Oct 29 19:57:58 C
> EST 2011     root@t420.crest.dn42:/usr/obj/arm.arm/usr/src/sys/DOCKSTAR  a
> rm
> 
> >Description:
> FreeBSD 9.0-RC1 boots into Multiuser on DockStar. A few seconds of disk I/O
> on USB mass storage devices later "USB error: address decoding error
> (addr=$HEX)" floods the RS232 console. They are stop as soon as all disk
> I/O is stopped. syslogd turns this into a feedback loop. (Nearly?) each
> log write results in new log messages. A "portsnap fetch" is enough on a
> fresh installation triggered the panic below.
> 
> 
> console:
>    fb9ds# portsnap fetch
>    Looking up portsnap.FreeBSD.org mirrors... 5 mirrors found.
>    Fetching snapshot tag from portsnap5.FreeBSD.org... done.
>    Fetching snapshot metadata... done.
>    Fetching snapshot generated at Sat Oct 29 00:11:11 UTC 2011:
>    0e7e93882dbe7d6994a5598cd1cb310ecc53958054d3df100% of   64 MB  778 kBps
> 00m00s Extracting snapshot... done.
>    Verifying snapshot integrity...
> 
> 
> backtrace:
>  db> bt
>  Tracing pid 42848 tid 100070 td 0xc23ae000
>  kdb_enter() at kdb_enter+0x14
>  scp=0xc0a68174 rlv=0xc0a3da34 (panic+0xa0)
>          rsp=0xc85129e0 rfp=0xc85129f4
>          r5=0xc0c4933c r4=0x00000100
>  panic() at panic+0x1c
>  scp=0xc0a3d9b0 rlv=0xc0a75480 (turnstile_claim+0x204)
>          rsp=0xc8512a08 rfp=0xc8512a20
>  turnstile_claim() at turnstile_claim+0x104
>  scp=0xc0a75380 rlv=0xc0a75608 (turnstile_wait+0x17c)
>          rsp=0xc8512a24 rfp=0xc8512a48
>          r6=0xc182e2a0 r5=0xc23ae000
>          r4=0x00000000
>  turnstile_wait() at turnstile_wait+0x14
>  scp=0xc0a754a0 rlv=0xc0a30848 (_mtx_lock_sleep+0xbc)
>          rsp=0xc8512a4c rfp=0xc8512a64
>          r10=0xc21a4990 r8=0x00000000
>          r7=0x00000000 r6=0xc23ae000 r5=0xc182e2a0 r4=0xc0d14780
>  _mtx_lock_sleep() at _mtx_lock_sleep+0x14
>  scp=0xc0a307a0 rlv=0xc0a30900 (_mtx_lock_flags+0x74)
>          rsp=0xc8512a68 rfp=0xc8512a84
>          r6=0xc0d200c0 r5=0x00000000
>          r4=0x00000000
>  _mtx_lock_flags() at _mtx_lock_flags+0x10
>  scp=0xc0a3089c rlv=0xc0bd5a3c (vm_fault_hold+0x1548)
>          rsp=0xc8512a88 rfp=0xc8512bb0
>          r6=0x0000029c r5=0x00000000
>          r4=0x0029c000
>  vm_fault_hold() at vm_fault_hold+0x10
>  scp=0xc0bd4504 rlv=0xc0bd6080 (vm_fault+0x38)
>          rsp=0xc8512bb4 rfp=0xc8512bc8
>          r10=0x00000002 r9=0xc8512ef8
>          r8=0xc8512c70 r7=0xc23ae000 r6=0x20405000 r5=0x00000000
>          r4=0x00000002
>  vm_fault() at vm_fault+0x10
>  scp=0xc0bd6058 rlv=0xc0c02490 (data_abort_handler+0x1e8)
>          rsp=0xc8512bcc rfp=0xc8512c6c
>          r4=0xc23a3360
>  data_abort_handler() at data_abort_handler+0x10
>  scp=0xc0c022b8 rlv=0xc0bf4b38 (address_exception_entry+0x50)
>          rsp=0xc8512c70 rfp=0x00000000
>          r10=0xc8512ef8 r9=0x00000000
>          r8=0x00000000 r7=0x00000000 r6=0x00000000 r5=0xffff1004
>          r4=0x656b614d
> 
> dmesg.boot (after a reboot):
> 
>  KDB: debugger backends: ddb
>  KDB: current backend: ddb
>  Copyright (c) 1992-2011 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 is a registered trademark of The FreeBSD Foundation.
>  FreeBSD 9.0-RC1 #5: Sat Oct 29 19:57:58 CEST 2011
>      root@t420.crest.dn42:/usr/obj/arm.arm/usr/src/sys/DOCKSTAR arm
>  CPU: Feroceon 88FR131 rev 1 (Marvell core)
>    DC enabled IC enabled WB enabled EABT branch prediction enabled
>    16KB/32B 4-way Instruction cache
>    16KB/32B 4-way write-back-locking-C Data cache
>  real memory  = 134217728 (128 MB)
>  avail memory = 125227008 (119 MB)
>  SOC: Marvell 88F6281 rev A0, TClock 200MHz
>  simplebus0: <Flattened device tree simple bus> on fdtbus0
>  ic0: <Marvell Integrated Interrupt Controller> mem 0xf1020200-0xf102023b
> on simplebus0 timer0: <Marvell CPU Timer> mem 0xf1020300-0xf102032f irq 1
> on simplebus0 Event timer "CPUTimer0" frequency 200000000 Hz quality 1000
>  Timecounter "CPUTimer1" frequency 200000000 Hz quality 1000
>  gpio0: <Marvell Integrated GPIO Controller> mem 0xf1010100-0xf101011f irq
> 35,36,37,38,39,40,41 on  simplebus0 rtc0: <Marvell Integrated RTC> mem
> 0xf1010300-0xf1010307 on simplebus0 mge0: <Marvell Gigabit Ethernet
> controller> mem 0xf1072000-0xf1073fff irq 12,13,14,11,46 on simpl ebus0
> mge0: Ethernet address: 02:50:43:91:f7:ea
>  miibus0: <MII bus> on mge0
>  ukphy0: <Generic IEEE 802.3u media interface> PHY 0 on miibus0
>  ukphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT,
> 1000baseT-master, 1000b aseT-FDX, 1000baseT-FDX-master, auto uart0: <16550
> or compatible> mem 0xf1012000-0xf101201f irq 33 on simplebus0 uart0:
> console (1056,n,8,1)
>  uart1: <16550 or compatible> mem 0xf1012100-0xf101211f irq 34 on
> simplebus0 ehci0: <Marvell Integrated USB 2.0 controller> mem
> 0xf1050000-0xf1050fff irq 48,19 on simplebus0 usbus0: EHCI version 1.0
>  usbus0: set host controller mode
>  usbus0: <Marvell Integrated USB 2.0 controller> on ehci0
>  cryptosoft0: <software crypto> on motherboard
>  Timecounters tick every 1.000 msec
>  IPsec: Initialized Security Association Processing.
>  ipfw2 (+ipv6) initialized, divert enabled, nat loadable, rule-based
> forwarding enabled, default t o accept, logging disabled DUMMYNET 0 with
> IPv6 initialized (100409)
>  load_dn_sched dn_sched FIFO loaded
>  load_dn_sched dn_sched PRIO loaded
>  load_dn_sched dn_sched QFQ loaded
>  load_dn_sched dn_sched RR loaded
>  load_dn_sched dn_sched WF2Q+ loaded
>  usbus0: 480Mbps High Speed USB v2.0
>  Root mount waiting for: usbus0
>  ugen0.1: <Marvell> at usbus0
>  uhub0: <Marvell EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
>  uhub0: 1 port with 1 removable, self powered
>  Root mount waiting for: usbus0
>  ugen0.2: <vendor 0x05e3> at usbus0
>  uhub1: <vendor 0x05e3 USB2.0 Hub, class 9/0, rev 2.00/6.03, addr 2> on
> usbus0
> 
>  Root mount waiting for: usbus0
>  uhub1: 4 ports with 4 removable, self powered
>  Root mount waiting for: usbus0
>  ugen0.3: <SMI Corporation> at usbus0
>  umass0: <SMI Corporation USB DISK, class 0/0, rev 2.00/11.00, addr 3> on
> usbus0 da0 at umass-sim0 bus 0 scbus0 target 0 lun 0
>  da0: <USB Stick 2.0 ME 1100> Removable Direct Access SCSI-0 device
>  da0: 40.000MB/s transfers
>  da0: 1912MB (3915776 512 byte sectors: 255H 63S/T 243C)
>  ugen0.4: <vendor 0x0d8c> at usbus0
>  uaudio0: <vendor 0x0d8c C-Media USB Headphone Set, class 0/0, rev
> 1.10/1.00, addr 4> on usbus0 uaudio0: Play: 48000 Hz, 2 ch, 16-bit S-LE
> PCM format
>  uaudio0: Record: 48000 Hz, 1 ch, 16-bit S-LE PCM format
>  uaudio0: No midi sequencer
>  pcm0: <USB audio> on uaudio0
>  Trying to mount root from ufs:/dev/ufs/root []...
>  WARNING: / was not properly dismounted
> 
> dmesg (problem reappears after a few seconds):
>  USB error: address decoding error (addr=0x4190200)
>  USB error: address decoding error (addr=0x4191000)
>  USB error: address decoding error (addr=0x41981c0)
>  USB error: address decoding error (addr=0x4199000)
>  USB error: address decoding error (addr=0x41a0200)
>  USB error: address decoding error (addr=0x41a1000)
>  USB error: address decoding error (addr=0x41a8000)
>  USB error: address decoding error (addr=0x41a9000)
>  USB error: address decoding error (addr=0x41b0200)
>  USB error: address decoding error (addr=0x41b1000)
>  USB error: address decoding error (addr=0x41b8000)
>  USB error: address decoding error (addr=0x41b9000)
>  USB error: address decoding error (addr=0x41c0000)
>  USB error: address decoding error (addr=0x41c1000)
>  USB error: address decoding error (addr=0x41c8200)
>  USB error: address decoding error (addr=0x41c9000)
>  USB error: address decoding error (addr=0x41ca000)
>  USB error: address decoding error (addr=0x41d11c0)
>  USB error: address decoding error (addr=0x41d2000)
>  USB error: address decoding error (addr=0x41d9100)
>  USB error: address decoding error (addr=0x41c9000)
>  USB error: address decoding error (addr=0x41c9000)
>  ... more of the same format (/usr/src/sys/dev/usb/controller/ehci_mv.c
> 
> kernel config:
>  #
>  # Custom kernel for Seagate DockStar (Marvell SheevaPlug based) devices.
>  #
>  # $FreeBSD: stable/9/sys/arm/conf/DOCKSTAR 224699 2011-08-07 20:16:46Z
> rmacklem $ #
> 
>  ident           DOCKSTAR
>  include         "../mv/kirkwood/std.sheevaplug"
> 
>  options         SOC_MV_KIRKWOOD
>  makeoptions     MODULES_OVERRIDE=""
> 
>  #makeoptions    DEBUG=-g                #Build kernel with gdb(1) debug
> symbols makeoptions     WERROR="-Werror"
> 
>  options         SCHED_4BSD              #4BSD scheduler
>  options         INET                    #InterNETworking
>  options         INET6                   #IPv6 communications protocols
>  options         FFS                     #Berkeley Fast Filesystem
>  options         NFSCL                   #New Network Filesystem Client
>  options         NFSLOCKD                #Network Lock Manager
>  options         NFS_ROOT                #NFS usable as /, requires NFSCL
>  #options        BOOTP
>  #options        BOOTP_NFSROOT
>  #options        BOOTP_NFSV3
>  #options        BOOTP_COMPAT
>  #options        BOOTP_WIRED_TO=mge0
> 
>  # Root fs on USB device
>  options        ROOTDEVNAME=\"ufs:/dev/ufs/root\"
> 
>  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         MUTEX_NOINLINE
>  options         RWLOCK_NOINLINE
>  options         NO_FFS_SNAPSHOT
>  options         NO_SWAPPING
> 
>  # Debugging
>  options         ALT_BREAK_TO_DEBUGGER
>  options         DDB
>  options         KDB
> 
>  # Pseudo devices
>  device          md
>  device          random
>  device          pty
>  device          loop
> 
>  # Serial ports
>  device          uart
> 
>  # Networking
>  device          ether
>  device          mge                     # Marvell Gigabit Ethernet
> controller device          mii
>  device          bpf
>  options         HZ=1000
>  options         DEVICE_POLLING
>  device          vlan
> 
>  # USB
>  #options        USB_DEBUG       # enable debug msgs
>  device          usb
>  device          ehci
>  device          uhci
>  device          ohci
>  device          umass
>  device          scbus
>  device          pass
>  device          da
> 
>  # Flattened Device Tree
>  options         FDT
>  options         FDT_DTB_STATIC
>  makeoptions     FDT_DTS_FILE=dockstar.dts
> 
>  # Crypto
>  device          crypto
>  options         KGSSAPI
> 
>  # IPSec
>  device          enc
>  options         IPSEC
>  options         IPSEC_NAT_T
> 
>  # Disk Encryption
>  options         GEOM_ELI
> 
>  # IPFW support
>  options         IPFIREWALL
>  options         IPFIREWALL_DEFAULT_TO_ACCEPT
>  options         IPFIREWALL_FORWARD
>  options         IPFIREWALL_VERBOSE
>  options         IPFIREWALL_VERBOSE_LIMIT=100
>  options         DUMMYNET
>  options         IPDIVERT
> 
>  # Partition support
>  options         GEOM_PART_BSD
>  options         GEOM_PART_GPT
>  options         GEOM_PART_MBR
>  options         GEOM_LABEL
> 
>  # UFS
>  options         UFS_ACL
>  options         UFS_DIRHASH
>  options         SOFTUPDATES
> 
>  # FAT support
>  options         MSDOSFS
> 
>  # Misc FSs
>  options         PROCFS
>  options         PSEUDOFS
> 
>  # Sound
>  device          sound
>  device          snd_uaudio
> 
> >How-To-Repeat:
> cd /usr/src
> make buildworld buildkernel # tested on amd64
> make buildworld buildkernel TARGET_ARCH=arm KERNCONF=DOCKSTAR
> gpart create -s mbr da0 # da0 is a umass dev
> gpart add -s 64M -t fat32 -i 1 && newfs_msdos -F 32 -L KERN da0s1
> gpart add -t freebsd && newfs -jLroot
> mount -t msdosfs /dev/msdosfs/KERN # use jeff doozans u-boot to boot from
> fat32 cp /usr/obj/arm.arm/usr/src/sys/DOCKSTAR/kernel.bin /mnt
> umount /mnt
> mount /dev/ufs/root /mnt
> make installworld distribution TARGET_ARCH=arm DESTDIR=/mnt
> dd of=/mnt/etc/rc.conf <<EOF
>   hostname="fb9ds.crest.dn42"
>   ifconfig_mge0="DHCP"
>   sshd_enable="YES"
>   ntpdate_enable="YES"
>   ntpd_enable="YES"
> 
> >Fix:
> no known fix/workaround
> 
> >Release-Note:
> >Audit-Trail:
> >
> >Unformatted:
>  >>EOF
> 
>  echo /dev/ufs/root / ufs rw,noatime,noclusterr,noclusterw 1 1
> >/mnt/etc/fstab umount /mnt
>  # insert usb stick/disk into dockstar, boot and start portsnap fetch
> extract.

Hi,

This looks like an ARM specific error produced by:

src/sys/dev/usb/controller/ehci_mbus.c

--HPS
Comment 2 marktinguely 2012-03-08 14:16:39 UTC
I am seeing something like this on a different ARM platform, but the
USB code may be a cousin to the mv code.

Do you still have this setup? Could you take to ethernet card out of
the kernel - removing the ethernet helps in my case. Could a problem
be tickled by interrupt handling?

I did the following test:

$ dd if=/dev/zero of=r0 bs=4096 count=16k

$ od r0
0000000    000000  000000  000000  000000  000000  000000  000000  000000
*
400000000

$ cp r0 r1 ; cp r1 r2 ; cp r2 r3 ; cp r3 r4 ; cp r4 r5 ; cp r5 r6; diff r0 r6

Many time there is a corruption at about r2 or r3. If I take the
ethernet card out of the kernel, the problem happens less often.

I use zero because it is easy to see where things go wrong.

If they are different, start doing "od" on the copied files see if you
see 0x377 in the first corrupted file.

--Mark.
Comment 3 dfilter service freebsd_committer freebsd_triage 2014-01-05 20:44:18 UTC
Author: ian
Date: Sun Jan  5 20:44:10 2014
New Revision: 260333
URL: http://svnweb.freebsd.org/changeset/base/260333

Log:
  Enable the cesa security/crypto device by providing the required property
  in the dts source, and adding the right devices to the kernel config. Also
  generally bring the kernel config into line with what we have for other
  Marvell/Kirkwood systems (add lots of useful devices and options).
  
  One particularly notable addition amongst the kernel config changes is
  USB_HOST_ALIGN=32, which may help eliminate data corruption on USB drives.
  
  PR:		kern/181975 arm/162159

Modified:
  head/sys/arm/conf/DOCKSTAR
  head/sys/boot/fdt/dts/dockstar.dts

Modified: head/sys/arm/conf/DOCKSTAR
==============================================================================
--- head/sys/arm/conf/DOCKSTAR	Sun Jan  5 20:33:44 2014	(r260332)
+++ head/sys/arm/conf/DOCKSTAR	Sun Jan  5 20:44:10 2014	(r260333)
@@ -3,73 +3,165 @@
 #
 # $FreeBSD$
 #
+#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
+#
+# The handbook is also available locally in /usr/share/doc/handbook
+# if you've installed the doc distribution, otherwise always see the
+# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
+# latest information.
+#
+# An exhaustive list of options and more detailed explanations of the
+# device lines is also present in the ../../conf/NOTES and NOTES files. 
+# If you are in doubt as to the purpose or necessity of a line, check first 
+# in NOTES.
+#
+# $FreeBSD$
+#
 
 ident		DOCKSTAR
+
 include		"../mv/kirkwood/std.db88f6xxx"
 
-options 	SOC_MV_KIRKWOOD
+makeoptions	FDT_DTS_FILE=dockstar.dts
+
 makeoptions	MODULES_OVERRIDE=""
 
-#makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
-makeoptions	WERROR="-Werror"
+options 	SOC_MV_KIRKWOOD
 
 options 	SCHED_4BSD		#4BSD scheduler
 options 	INET			#InterNETworking
 options 	INET6			#IPv6 communications protocols
+options 	SOFTUPDATES
+options 	CD9660			#ISO 9660 filesystem
 options 	FFS			#Berkeley Fast Filesystem
-options 	NFSCL			#New Network Filesystem Client
-options 	NFSLOCKD		#Network Lock Manager
-options 	NFS_ROOT		#NFS usable as /, requires NFSCL
-options 	BOOTP
-options 	BOOTP_NFSROOT
-options 	BOOTP_NFSV3
-options 	BOOTP_COMPAT
-options 	BOOTP_WIRED_TO=mge0
-
-# Root fs on USB device
-#options        ROOTDEVNAME=\"ufs:/dev/da0a\"
-
+options 	MSDOSFS			#MS DOS File System (FAT, FAT32)
+options 	NULLFS			#NULL filesystem
+options 	TMPFS			#Efficient memory filesystem
 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 	MUTEX_NOINLINE
-options 	RWLOCK_NOINLINE
-options 	NO_FFS_SNAPSHOT
-options 	NO_SWAPPING
+options 	GEOM_ELI		# Disk encryption.
+options 	GEOM_LABEL		# Providers labelization.
+options 	GEOM_PART_GPT		# GPT partitioning
 
-# Debugging
-options 	ALT_BREAK_TO_DEBUGGER
-options 	DDB
-options 	KDB
+# Flattened Device Tree
+device		fdt
+options 	FDT
+options 	FDT_DTB_STATIC
+
+# Misc pseudo devices
+device		bpf			#Required for DHCP
+device  	faith			#IPv6-to-IPv4 relaying (translation)
+device  	firmware		#firmware(9) required for USB wlan
+device  	gif			#IPv6 and IPv4 tunneling
+device		loop			#Network loopback
+device  	md			#Memory/malloc disk
+device		pty			#BSD-style compatibility pseudo ttys
+device		random			#Entropy device
+device  	tun			#Packet tunnel.
+device		ether			#Required for all ethernet devices
+device  	vlan			#802.1Q VLAN support
+device		wlan			#802.11 WLAN support
 
-# Pseudo devices
-device		md
-device		random
-device		loop
+# cam support for umass and ahci
+device		scbus
+device		pass
+device		da
 
 # Serial ports
 device		uart
 
 # Networking
-device		ether
 device		mge			# Marvell Gigabit Ethernet controller
 device		mii
-device		bpf
-options 	HZ=1000
-options 	DEVICE_POLLING
-device		vlan
+device		e1000phy
 
 # USB
-options 	USB_DEBUG	# enable debug msgs
-device		usb
-device		ehci
-device		umass
-device		scbus
-device		pass
-device		da
+options 	USB_HOST_ALIGN=32	# Align DMA to cacheline
+#options	USB_DEBUG       	# Compile in USB debug support
+device  	usb  			# Basic usb support			
+device  	ehci 			# USB host controller
+device  	umass			# Mass storage
+device  	uhid 			# Human-interface devices
+device  	rum  			# Ralink Technology RT2501USB wireless NICs
+device  	uath 			# Atheros AR5523 wireless NICs
+device  	ural 			# Ralink Technology RT2500USB wireless NICs
+device  	zyd  			# ZyDAS zb1211/zb1211b wireless NICs
+device  	urtw 			# Realtek RTL8187B/L USB
+device  	upgt 			# Conexant/Intersil PrismGT SoftMAC USB
+device  	u3g  			# USB-based 3G modems (Option, Huawei, Sierra)
+
+# I2C (TWSI)
+device		iic
+device		iicbus
+
+# Sound
+device 		sound
+device 		snd_uaudio
+
+#crypto
+device  	cesa			# Marvell security engine
+device  	crypto
+device  	cryptodev
+
+# IPSec
+device  	enc
+options  	IPSEC
+options  	IPSEC_NAT_T
+options  	TCP_SIGNATURE           #include support for RFC 2385
+
+# IPFW
+options  	IPFIREWALL
+options  	IPFIREWALL_DEFAULT_TO_ACCEPT
+options  	IPFIREWALL_VERBOSE
+options  	IPFIREWALL_VERBOSE_LIMIT=100
+options  	IPFIREWALL_NAT
+options  	LIBALIAS
+options  	DUMMYNET
+options  	IPDIVERT
+
+#PF 
+device  	pf
+device  	pflog
+device  	pfsync
+
+# ALTQ, required for PF
+options  	ALTQ      	      # Basic ALTQ support
+options  	ALTQ_CBQ  	      # Class Based Queueing
+options  	ALTQ_RED  	      # Random Early Detection
+options  	ALTQ_RIO  	      # RED In/Out
+options  	ALTQ_HFSC 	      # Hierarchical Packet Scheduler
+options  	ALTQ_CDNR 	      # Traffic conditioner
+options  	ALTQ_PRIQ 	      # Priority Queueing
+options  	ALTQ_NOPCC	      # Required if the TSC is unusable
+#options 	ALTQ_DEBUG
+
+# Debugging
+makeoptions 	DEBUG=-g		#Build kernel with gdb(1) debug symbols
+options 	BREAK_TO_DEBUGGER
+options 	ALT_BREAK_TO_DEBUGGER
+options 	DDB
+options 	KDB
+options 	DIAGNOSTIC
+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
+#options 	WITNESS_KDB
+
+# Enable these options for nfs root configured via BOOTP.
+options 	NFSCL			#Network Filesystem Client
+options 	NFSLOCKD		#Network Lock Manager
+#options 	NFS_ROOT		#NFS usable as /, requires NFSCLIENT
+#options 	BOOTP
+#options 	BOOTP_NFSROOT
+#options 	BOOTP_NFSV3
+#options 	BOOTP_WIRED_TO=mge0
+
+# If not using BOOTP, use something like one of these...
+#options 	ROOTDEVNAME=\"ufs:/dev/da0a\"
+options 	ROOTDEVNAME=\"ufs:/dev/da0s1a\"
+#options 	ROOTDEVNAME=\"ufs:/dev/da0p10\"
+#options 	ROOTDEVNAME=\"nfs:192.168.0.254/dreamplug\"
 
-# Flattened Device Tree
-options 	FDT
-options 	FDT_DTB_STATIC
-makeoptions	FDT_DTS_FILE=dockstar.dts

Modified: head/sys/boot/fdt/dts/dockstar.dts
==============================================================================
--- head/sys/boot/fdt/dts/dockstar.dts	Sun Jan  5 20:33:44 2014	(r260332)
+++ head/sys/boot/fdt/dts/dockstar.dts	Sun Jan  5 20:44:10 2014	(r260333)
@@ -209,6 +209,8 @@
 			reg = <0x30000 0x10000>;
 			interrupts = <22>;
 			interrupt-parent = <&PIC>;
+
+			sram-handle = <&SRAM>;
 		};
 
 		usb@50000 {
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 4 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 08:00:21 UTC
For bugs matching the following criteria:

Status: In Progress Changed: (is less than) 2014-06-01

Reset to default assignee and clear in-progress tags.

Mail being skipped
Comment 5 Warner Losh freebsd_committer freebsd_triage 2019-01-07 05:33:09 UTC
Ian claimed to fix this in a commit message that sounds related. closing. If this is still an issue, please reopen this bug.