History log of /freebsd-9.3-release/sys/dev/usb/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
268226 03-Jul-2014 hselasky

MFC r268221 and r268222:
- Remove some unused variables.
- Add proper rangechecks in "axge_rx_frame()" function and
fix receive loop header parsing.
- Add new USB IDs.

Approved by: re, gjb @
PR: 191432

268214 03-Jul-2014 hselasky

MFC r268078 and r268080:
Fix for memory use after free() and mtx_destroy().

Approved by: re, glebius @

267655 20-Jun-2014 gjb

Remove svn:mergeinfo carried over from stable/9.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


/freebsd-9.3-release/COPYRIGHT
/freebsd-9.3-release/MAINTAINERS
/freebsd-9.3-release/Makefile
/freebsd-9.3-release/Makefile.inc1
/freebsd-9.3-release/ObsoleteFiles.inc
/freebsd-9.3-release/UPDATING
/freebsd-9.3-release/bin
/freebsd-9.3-release/bin/cat
/freebsd-9.3-release/bin/cp
/freebsd-9.3-release/bin/csh
/freebsd-9.3-release/bin/date
/freebsd-9.3-release/bin/dd
/freebsd-9.3-release/bin/df
/freebsd-9.3-release/bin/ed
/freebsd-9.3-release/bin/expr
/freebsd-9.3-release/bin/getfacl
/freebsd-9.3-release/bin/kenv
/freebsd-9.3-release/bin/ln
/freebsd-9.3-release/bin/mkdir
/freebsd-9.3-release/bin/mv
/freebsd-9.3-release/bin/pkill
/freebsd-9.3-release/bin/ps
/freebsd-9.3-release/bin/pwait
/freebsd-9.3-release/bin/rcp
/freebsd-9.3-release/bin/rm
/freebsd-9.3-release/bin/setfacl
/freebsd-9.3-release/bin/sh
/freebsd-9.3-release/bin/sleep
/freebsd-9.3-release/bin/test
/freebsd-9.3-release/bin/uuidgen
/freebsd-9.3-release/cddl
/freebsd-9.3-release/cddl/contrib
/freebsd-9.3-release/cddl/contrib/dtracetoolkit
/freebsd-9.3-release/cddl/contrib/opensolaris
/freebsd-9.3-release/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/llquantize
/freebsd-9.3-release/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print
/freebsd-9.3-release/cddl/contrib/opensolaris/cmd/zfs
/freebsd-9.3-release/cddl/contrib/opensolaris/cmd/zpool
/freebsd-9.3-release/cddl/contrib/opensolaris/lib/libdtrace/common
/freebsd-9.3-release/cddl/contrib/opensolaris/lib/libzfs
/freebsd-9.3-release/cddl/lib
/freebsd-9.3-release/cddl/lib/drti
/freebsd-9.3-release/cddl/lib/libdtrace
/freebsd-9.3-release/cddl/usr.bin/zinject
/freebsd-9.3-release/contrib
/freebsd-9.3-release/contrib/bind9
/freebsd-9.3-release/contrib/binutils
/freebsd-9.3-release/contrib/bmake
/freebsd-9.3-release/contrib/bsnmp
/freebsd-9.3-release/contrib/bsnmp/snmp_mibII
/freebsd-9.3-release/contrib/bzip2
/freebsd-9.3-release/contrib/compiler-rt
/freebsd-9.3-release/contrib/dialog
/freebsd-9.3-release/contrib/diff
/freebsd-9.3-release/contrib/ee
/freebsd-9.3-release/contrib/expat
/freebsd-9.3-release/contrib/file
/freebsd-9.3-release/contrib/gcc
/freebsd-9.3-release/contrib/gcclibs
/freebsd-9.3-release/contrib/gdb
/freebsd-9.3-release/contrib/gdtoa
/freebsd-9.3-release/contrib/gnu-sort
/freebsd-9.3-release/contrib/gperf
/freebsd-9.3-release/contrib/groff
/freebsd-9.3-release/contrib/less
/freebsd-9.3-release/contrib/libarchive
/freebsd-9.3-release/contrib/libarchive/cpio
/freebsd-9.3-release/contrib/libarchive/libarchive
/freebsd-9.3-release/contrib/libarchive/libarchive_fe
/freebsd-9.3-release/contrib/libarchive/tar
/freebsd-9.3-release/contrib/libc++
/freebsd-9.3-release/contrib/libc-pwcache
/freebsd-9.3-release/contrib/libc-vis
/freebsd-9.3-release/contrib/libcxxrt
/freebsd-9.3-release/contrib/libpcap
/freebsd-9.3-release/contrib/libstdc++
/freebsd-9.3-release/contrib/libucl
/freebsd-9.3-release/contrib/llvm
/freebsd-9.3-release/contrib/llvm/tools/clang
/freebsd-9.3-release/contrib/mknod
/freebsd-9.3-release/contrib/mtree
/freebsd-9.3-release/contrib/ncurses
/freebsd-9.3-release/contrib/netcat
/freebsd-9.3-release/contrib/ntp
/freebsd-9.3-release/contrib/nvi
/freebsd-9.3-release/contrib/one-true-awk
/freebsd-9.3-release/contrib/openbsm
/freebsd-9.3-release/contrib/openpam
/freebsd-9.3-release/contrib/openresolv
/freebsd-9.3-release/contrib/opie
/freebsd-9.3-release/contrib/pf
/freebsd-9.3-release/contrib/pnpinfo
/freebsd-9.3-release/contrib/sendmail
/freebsd-9.3-release/contrib/tcpdump
/freebsd-9.3-release/contrib/tcsh
/freebsd-9.3-release/contrib/telnet
/freebsd-9.3-release/contrib/tnftp
/freebsd-9.3-release/contrib/top
/freebsd-9.3-release/contrib/top/install-sh
/freebsd-9.3-release/contrib/traceroute
/freebsd-9.3-release/contrib/tzcode
/freebsd-9.3-release/contrib/tzcode/stdtime
/freebsd-9.3-release/contrib/tzcode/zic
/freebsd-9.3-release/contrib/tzdata
/freebsd-9.3-release/contrib/unvis
/freebsd-9.3-release/contrib/vis
/freebsd-9.3-release/contrib/wpa
/freebsd-9.3-release/contrib/xz
/freebsd-9.3-release/crypto/heimdal
/freebsd-9.3-release/crypto/openssh
/freebsd-9.3-release/crypto/openssl
/freebsd-9.3-release/etc
/freebsd-9.3-release/etc/mtree
/freebsd-9.3-release/etc/rc.d
/freebsd-9.3-release/games/bcd
/freebsd-9.3-release/games/caesar
/freebsd-9.3-release/games/factor
/freebsd-9.3-release/games/fortune
/freebsd-9.3-release/games/fortune/fortune
/freebsd-9.3-release/games/grdc
/freebsd-9.3-release/games/morse
/freebsd-9.3-release/games/number
/freebsd-9.3-release/games/pom
/freebsd-9.3-release/games/random
/freebsd-9.3-release/gnu/lib
/freebsd-9.3-release/gnu/lib/csu
/freebsd-9.3-release/gnu/lib/libgcc
/freebsd-9.3-release/gnu/lib/libgomp
/freebsd-9.3-release/gnu/lib/libstdc++
/freebsd-9.3-release/gnu/lib/libsupc++
/freebsd-9.3-release/gnu/usr.bin/binutils
/freebsd-9.3-release/gnu/usr.bin/binutils/libbinutils
/freebsd-9.3-release/gnu/usr.bin/cc/c++
/freebsd-9.3-release/gnu/usr.bin/cc/cc_tools
/freebsd-9.3-release/gnu/usr.bin/cc/include
/freebsd-9.3-release/gnu/usr.bin/gdb
/freebsd-9.3-release/gnu/usr.bin/gdb/kgdb
/freebsd-9.3-release/gnu/usr.bin/gperf
/freebsd-9.3-release/gnu/usr.bin/groff
/freebsd-9.3-release/gnu/usr.bin/send-pr
/freebsd-9.3-release/include
/freebsd-9.3-release/include/arpa
/freebsd-9.3-release/kerberos5
/freebsd-9.3-release/kerberos5/lib/libgssapi_krb5
/freebsd-9.3-release/lib
/freebsd-9.3-release/lib/Makefile
/freebsd-9.3-release/lib/bind
/freebsd-9.3-release/lib/clang
/freebsd-9.3-release/lib/clang/include
/freebsd-9.3-release/lib/csu
/freebsd-9.3-release/lib/libarchive
/freebsd-9.3-release/lib/libbluetooth
/freebsd-9.3-release/lib/libc
/freebsd-9.3-release/lib/libc++
/freebsd-9.3-release/lib/libc/stdtime
/freebsd-9.3-release/lib/libc/sys
/freebsd-9.3-release/lib/libc/uuid
/freebsd-9.3-release/lib/libcam
/freebsd-9.3-release/lib/libcompiler_rt
/freebsd-9.3-release/lib/libcrypt
/freebsd-9.3-release/lib/libcxxrt
/freebsd-9.3-release/lib/libdwarf
/freebsd-9.3-release/lib/libedit
/freebsd-9.3-release/lib/libelf
/freebsd-9.3-release/lib/libexpat
/freebsd-9.3-release/lib/libfetch
/freebsd-9.3-release/lib/libgeom
/freebsd-9.3-release/lib/libgpib
/freebsd-9.3-release/lib/libgssapi
/freebsd-9.3-release/lib/libiconv_modules
/freebsd-9.3-release/lib/libipsec
/freebsd-9.3-release/lib/libjail
/freebsd-9.3-release/lib/libkiconv
/freebsd-9.3-release/lib/libkvm
/freebsd-9.3-release/lib/libmagic
/freebsd-9.3-release/lib/libmemstat
/freebsd-9.3-release/lib/libncp
/freebsd-9.3-release/lib/libnetbsd
/freebsd-9.3-release/lib/libnetgraph
/freebsd-9.3-release/lib/libopie
/freebsd-9.3-release/lib/libpam
/freebsd-9.3-release/lib/libpcap
/freebsd-9.3-release/lib/libpmc
/freebsd-9.3-release/lib/libproc
/freebsd-9.3-release/lib/libprocstat
/freebsd-9.3-release/lib/libradius
/freebsd-9.3-release/lib/librpcsec_gss
/freebsd-9.3-release/lib/librpcsvc
/freebsd-9.3-release/lib/librt
/freebsd-9.3-release/lib/libsbuf
/freebsd-9.3-release/lib/libsm
/freebsd-9.3-release/lib/libstand
/freebsd-9.3-release/lib/libstdbuf
/freebsd-9.3-release/lib/libtacplus
/freebsd-9.3-release/lib/libthr
/freebsd-9.3-release/lib/libthr/thread/thr_setprio.c
/freebsd-9.3-release/lib/libthr/thread/thr_setschedparam.c
/freebsd-9.3-release/lib/libthread_db
/freebsd-9.3-release/lib/libucl
/freebsd-9.3-release/lib/libulog
/freebsd-9.3-release/lib/libusb
/freebsd-9.3-release/lib/libusbhid
/freebsd-9.3-release/lib/libutil
/freebsd-9.3-release/lib/libvgl
/freebsd-9.3-release/lib/libypclnt
/freebsd-9.3-release/lib/libz
/freebsd-9.3-release/lib/msun
/freebsd-9.3-release/lib/ncurses/form
/freebsd-9.3-release/lib/ncurses/menu
/freebsd-9.3-release/lib/ncurses/ncurses
/freebsd-9.3-release/lib/ncurses/panel
/freebsd-9.3-release/libexec/atrun
/freebsd-9.3-release/libexec/bootpd
/freebsd-9.3-release/libexec/comsat
/freebsd-9.3-release/libexec/ftpd
/freebsd-9.3-release/libexec/getty
/freebsd-9.3-release/libexec/mail.local
/freebsd-9.3-release/libexec/pppoed
/freebsd-9.3-release/libexec/rbootd
/freebsd-9.3-release/libexec/rshd
/freebsd-9.3-release/libexec/rtld-elf
/freebsd-9.3-release/libexec/save-entropy
/freebsd-9.3-release/libexec/smrsh
/freebsd-9.3-release/libexec/tftpd
/freebsd-9.3-release/libexec/ypxfr
/freebsd-9.3-release/release
/freebsd-9.3-release/release/doc
/freebsd-9.3-release/release/doc/en_US.ISO8859-1/hardware
/freebsd-9.3-release/release/ia64
/freebsd-9.3-release/release/picobsd/tinyware/passwd
/freebsd-9.3-release/rescue
/freebsd-9.3-release/rescue/rescue
/freebsd-9.3-release/sbin
/freebsd-9.3-release/sbin/atacontrol
/freebsd-9.3-release/sbin/atm/atmconfig
/freebsd-9.3-release/sbin/bsdlabel
/freebsd-9.3-release/sbin/camcontrol
/freebsd-9.3-release/sbin/ccdconfig
/freebsd-9.3-release/sbin/ddb
/freebsd-9.3-release/sbin/devd
/freebsd-9.3-release/sbin/devfs
/freebsd-9.3-release/sbin/dhclient
/freebsd-9.3-release/sbin/dump
/freebsd-9.3-release/sbin/dumpfs
/freebsd-9.3-release/sbin/fdisk
/freebsd-9.3-release/sbin/fdisk_pc98
/freebsd-9.3-release/sbin/fsck_ffs
/freebsd-9.3-release/sbin/fsck_msdosfs
/freebsd-9.3-release/sbin/fsdb
/freebsd-9.3-release/sbin/fsirand
/freebsd-9.3-release/sbin/gbde
/freebsd-9.3-release/sbin/geom
/freebsd-9.3-release/sbin/geom/class/mirror
/freebsd-9.3-release/sbin/geom/class/multipath
/freebsd-9.3-release/sbin/geom/class/part
/freebsd-9.3-release/sbin/geom/class/raid
/freebsd-9.3-release/sbin/geom/class/raid3
/freebsd-9.3-release/sbin/geom/class/sched
/freebsd-9.3-release/sbin/geom/class/virstor
/freebsd-9.3-release/sbin/ggate
/freebsd-9.3-release/sbin/growfs
/freebsd-9.3-release/sbin/gvinum
/freebsd-9.3-release/sbin/hastctl
/freebsd-9.3-release/sbin/hastd
/freebsd-9.3-release/sbin/ifconfig
/freebsd-9.3-release/sbin/init
/freebsd-9.3-release/sbin/ipf
/freebsd-9.3-release/sbin/ipfw
/freebsd-9.3-release/sbin/iscontrol
/freebsd-9.3-release/sbin/kldload
/freebsd-9.3-release/sbin/mca
/freebsd-9.3-release/sbin/md5
/freebsd-9.3-release/sbin/mdconfig
/freebsd-9.3-release/sbin/mdmfs
/freebsd-9.3-release/sbin/mount
/freebsd-9.3-release/sbin/mount_cd9660
/freebsd-9.3-release/sbin/mount_msdosfs
/freebsd-9.3-release/sbin/mount_nfs
/freebsd-9.3-release/sbin/mount_ntfs
/freebsd-9.3-release/sbin/mount_nullfs
/freebsd-9.3-release/sbin/mount_unionfs
/freebsd-9.3-release/sbin/natd
/freebsd-9.3-release/sbin/newfs
/freebsd-9.3-release/sbin/newfs_msdos
/freebsd-9.3-release/sbin/nvmecontrol
/freebsd-9.3-release/sbin/ping6
/freebsd-9.3-release/sbin/quotacheck
/freebsd-9.3-release/sbin/rcorder
/freebsd-9.3-release/sbin/reboot
/freebsd-9.3-release/sbin/recoverdisk
/freebsd-9.3-release/sbin/restore
/freebsd-9.3-release/sbin/route
/freebsd-9.3-release/sbin/routed/rtquery
/freebsd-9.3-release/sbin/savecore
/freebsd-9.3-release/sbin/setkey
/freebsd-9.3-release/sbin/shutdown
/freebsd-9.3-release/sbin/swapon
/freebsd-9.3-release/sbin/sysctl
/freebsd-9.3-release/sbin/tunefs
/freebsd-9.3-release/sbin/umount
/freebsd-9.3-release/secure/lib/libcrypt
/freebsd-9.3-release/secure/lib/libcrypto
/freebsd-9.3-release/secure/lib/libssh
/freebsd-9.3-release/secure/lib/libssl
/freebsd-9.3-release/secure/libexec/ssh-keysign
/freebsd-9.3-release/secure/usr.bin/openssl
/freebsd-9.3-release/secure/usr.bin/ssh
/freebsd-9.3-release/secure/usr.sbin/sshd
/freebsd-9.3-release/share
/freebsd-9.3-release/share/doc
/freebsd-9.3-release/share/doc/bind9
/freebsd-9.3-release/share/doc/smm
/freebsd-9.3-release/share/dtrace
/freebsd-9.3-release/share/examples
/freebsd-9.3-release/share/examples/csh
/freebsd-9.3-release/share/examples/cvsup
/freebsd-9.3-release/share/examples/diskless
/freebsd-9.3-release/share/examples/etc
/freebsd-9.3-release/share/examples/kld/dyn_sysctl
/freebsd-9.3-release/share/examples/ppp
/freebsd-9.3-release/share/examples/printing
/freebsd-9.3-release/share/examples/scsi_target
/freebsd-9.3-release/share/examples/ses
/freebsd-9.3-release/share/i18n/csmapper
/freebsd-9.3-release/share/info
/freebsd-9.3-release/share/man
/freebsd-9.3-release/share/man/man3
/freebsd-9.3-release/share/man/man4
/freebsd-9.3-release/share/man/man4/run.4
/freebsd-9.3-release/share/man/man4/runfw.4
/freebsd-9.3-release/share/man/man5
/freebsd-9.3-release/share/man/man7
/freebsd-9.3-release/share/man/man8
/freebsd-9.3-release/share/man/man9
/freebsd-9.3-release/share/misc
/freebsd-9.3-release/share/mk
/freebsd-9.3-release/share/mk/bsd.arch.inc.mk
/freebsd-9.3-release/share/mk/bsd.sys.mk
/freebsd-9.3-release/share/skel
/freebsd-9.3-release/share/syscons
/freebsd-9.3-release/share/syscons/keymaps
/freebsd-9.3-release/share/termcap
/freebsd-9.3-release/share/zoneinfo
/freebsd-9.3-release/sys
/freebsd-9.3-release/sys/amd64/include/xen
/freebsd-9.3-release/sys/boot
/freebsd-9.3-release/sys/boot/forth
/freebsd-9.3-release/sys/boot/i386/efi
/freebsd-9.3-release/sys/boot/i386/gptboot
/freebsd-9.3-release/sys/boot/ia64/efi
/freebsd-9.3-release/sys/boot/ia64/ski
/freebsd-9.3-release/sys/boot/powerpc/boot1.chrp
/freebsd-9.3-release/sys/boot/powerpc/ofw
/freebsd-9.3-release/sys/cddl/contrib/opensolaris
/freebsd-9.3-release/sys/conf
/freebsd-9.3-release/sys/contrib/dev/acpica
/freebsd-9.3-release/sys/contrib/dev/run
/freebsd-9.3-release/sys/contrib/octeon-sdk
/freebsd-9.3-release/sys/contrib/pf
/freebsd-9.3-release/sys/contrib/x86emu
/freebsd-9.3-release/sys/dev
/freebsd-9.3-release/sys/dev/e1000
/freebsd-9.3-release/sys/dev/isp
/freebsd-9.3-release/sys/dev/ixgbe
/freebsd-9.3-release/sys/dev/puc
wlan/if_run.c
wlan/if_runreg.h
/freebsd-9.3-release/sys/fs
/freebsd-9.3-release/sys/fs/ntfs
/freebsd-9.3-release/sys/modules
/freebsd-9.3-release/sys/modules/ixgbe
/freebsd-9.3-release/sys/net
/freebsd-9.3-release/sys/netpfil
/freebsd-9.3-release/sys/sys
/freebsd-9.3-release/tools
/freebsd-9.3-release/tools/build
/freebsd-9.3-release/tools/build/options
/freebsd-9.3-release/tools/diag
/freebsd-9.3-release/tools/kerneldoc
/freebsd-9.3-release/tools/regression
/freebsd-9.3-release/tools/regression/aio/aiotest
/freebsd-9.3-release/tools/regression/bin/sh
/freebsd-9.3-release/tools/regression/bin/test
/freebsd-9.3-release/tools/regression/doat
/freebsd-9.3-release/tools/regression/fifo
/freebsd-9.3-release/tools/regression/fsx
/freebsd-9.3-release/tools/regression/lib/libc
/freebsd-9.3-release/tools/regression/netinet
/freebsd-9.3-release/tools/regression/pipe
/freebsd-9.3-release/tools/regression/security/cap_test
/freebsd-9.3-release/tools/regression/sockets
/freebsd-9.3-release/tools/regression/usr.sbin
/freebsd-9.3-release/tools/regression/usr.sbin/etcupdate
/freebsd-9.3-release/tools/test
/freebsd-9.3-release/tools/test/auxinfo
/freebsd-9.3-release/tools/test/pthread_vfork
/freebsd-9.3-release/tools/tools
/freebsd-9.3-release/tools/tools/ath
/freebsd-9.3-release/tools/tools/bootparttest
/freebsd-9.3-release/tools/tools/cxgbetool
/freebsd-9.3-release/tools/tools/ether_reflect
/freebsd-9.3-release/tools/tools/mcgrab
/freebsd-9.3-release/tools/tools/nanobsd
/freebsd-9.3-release/tools/tools/netmap
/freebsd-9.3-release/tools/tools/syscall_timing
/freebsd-9.3-release/tools/tools/sysdoc
/freebsd-9.3-release/tools/tools/umastat
/freebsd-9.3-release/tools/tools/vimage
/freebsd-9.3-release/tools/tools/zfsboottest
/freebsd-9.3-release/usr.bin
/freebsd-9.3-release/usr.bin/apply
/freebsd-9.3-release/usr.bin/ar
/freebsd-9.3-release/usr.bin/at
/freebsd-9.3-release/usr.bin/bc
/freebsd-9.3-release/usr.bin/bmake
/freebsd-9.3-release/usr.bin/brandelf
/freebsd-9.3-release/usr.bin/bsdiff
/freebsd-9.3-release/usr.bin/c89
/freebsd-9.3-release/usr.bin/c99
/freebsd-9.3-release/usr.bin/calendar
/freebsd-9.3-release/usr.bin/calendar/calendars
/freebsd-9.3-release/usr.bin/chpass
/freebsd-9.3-release/usr.bin/clang
/freebsd-9.3-release/usr.bin/comm
/freebsd-9.3-release/usr.bin/compress
/freebsd-9.3-release/usr.bin/cpio
/freebsd-9.3-release/usr.bin/csup
/freebsd-9.3-release/usr.bin/ctlstat
/freebsd-9.3-release/usr.bin/cut
/freebsd-9.3-release/usr.bin/dc
/freebsd-9.3-release/usr.bin/dig
/freebsd-9.3-release/usr.bin/du
/freebsd-9.3-release/usr.bin/ee
/freebsd-9.3-release/usr.bin/fetch
/freebsd-9.3-release/usr.bin/find
/freebsd-9.3-release/usr.bin/finger
/freebsd-9.3-release/usr.bin/fstat
/freebsd-9.3-release/usr.bin/gcore
/freebsd-9.3-release/usr.bin/gprof
/freebsd-9.3-release/usr.bin/grep
/freebsd-9.3-release/usr.bin/gzip
/freebsd-9.3-release/usr.bin/hexdump
/freebsd-9.3-release/usr.bin/host
/freebsd-9.3-release/usr.bin/indent
/freebsd-9.3-release/usr.bin/ipcrm
/freebsd-9.3-release/usr.bin/join
/freebsd-9.3-release/usr.bin/kdump
/freebsd-9.3-release/usr.bin/killall
/freebsd-9.3-release/usr.bin/ktrace
/freebsd-9.3-release/usr.bin/ktrdump
/freebsd-9.3-release/usr.bin/last
/freebsd-9.3-release/usr.bin/lastcomm
/freebsd-9.3-release/usr.bin/ldd
/freebsd-9.3-release/usr.bin/less
/freebsd-9.3-release/usr.bin/lex
/freebsd-9.3-release/usr.bin/limits
/freebsd-9.3-release/usr.bin/locale
/freebsd-9.3-release/usr.bin/lock
/freebsd-9.3-release/usr.bin/lockf
/freebsd-9.3-release/usr.bin/login
/freebsd-9.3-release/usr.bin/lsvfs
/freebsd-9.3-release/usr.bin/m4
/freebsd-9.3-release/usr.bin/mail
/freebsd-9.3-release/usr.bin/make
/freebsd-9.3-release/usr.bin/makewhatis
/freebsd-9.3-release/usr.bin/man
/freebsd-9.3-release/usr.bin/minigzip
/freebsd-9.3-release/usr.bin/ministat
/freebsd-9.3-release/usr.bin/mkcsmapper
/freebsd-9.3-release/usr.bin/mkesdb
/freebsd-9.3-release/usr.bin/mklocale
/freebsd-9.3-release/usr.bin/mktemp
/freebsd-9.3-release/usr.bin/msgs
/freebsd-9.3-release/usr.bin/mt
/freebsd-9.3-release/usr.bin/ncal
/freebsd-9.3-release/usr.bin/ncplist
/freebsd-9.3-release/usr.bin/ncplogin
/freebsd-9.3-release/usr.bin/netstat
/freebsd-9.3-release/usr.bin/newgrp
/freebsd-9.3-release/usr.bin/nfsstat
/freebsd-9.3-release/usr.bin/nslookup
/freebsd-9.3-release/usr.bin/passwd
/freebsd-9.3-release/usr.bin/pr
/freebsd-9.3-release/usr.bin/printf
/freebsd-9.3-release/usr.bin/procstat
/freebsd-9.3-release/usr.bin/protect
/freebsd-9.3-release/usr.bin/rctl
/freebsd-9.3-release/usr.bin/rlogin
/freebsd-9.3-release/usr.bin/rpcgen
/freebsd-9.3-release/usr.bin/rsh
/freebsd-9.3-release/usr.bin/rwho
/freebsd-9.3-release/usr.bin/script
/freebsd-9.3-release/usr.bin/sed
/freebsd-9.3-release/usr.bin/seq
/freebsd-9.3-release/usr.bin/sockstat
/freebsd-9.3-release/usr.bin/split
/freebsd-9.3-release/usr.bin/stat
/freebsd-9.3-release/usr.bin/stdbuf
/freebsd-9.3-release/usr.bin/su
/freebsd-9.3-release/usr.bin/systat
/freebsd-9.3-release/usr.bin/tail
/freebsd-9.3-release/usr.bin/talk
/freebsd-9.3-release/usr.bin/tar
/freebsd-9.3-release/usr.bin/tftp
/freebsd-9.3-release/usr.bin/top
/freebsd-9.3-release/usr.bin/touch
/freebsd-9.3-release/usr.bin/truss
/freebsd-9.3-release/usr.bin/unvis
/freebsd-9.3-release/usr.bin/unzip
/freebsd-9.3-release/usr.bin/usbhidaction
/freebsd-9.3-release/usr.bin/usbhidctl
/freebsd-9.3-release/usr.bin/users
/freebsd-9.3-release/usr.bin/uuencode
/freebsd-9.3-release/usr.bin/vacation
/freebsd-9.3-release/usr.bin/vis
/freebsd-9.3-release/usr.bin/vmstat
/freebsd-9.3-release/usr.bin/w
/freebsd-9.3-release/usr.bin/wall
/freebsd-9.3-release/usr.bin/who
/freebsd-9.3-release/usr.bin/whois
/freebsd-9.3-release/usr.bin/write
/freebsd-9.3-release/usr.bin/xinstall
/freebsd-9.3-release/usr.bin/xlint
/freebsd-9.3-release/usr.bin/yes
/freebsd-9.3-release/usr.sbin
/freebsd-9.3-release/usr.sbin/Makefile
/freebsd-9.3-release/usr.sbin/ac
/freebsd-9.3-release/usr.sbin/acpi/acpidump
/freebsd-9.3-release/usr.sbin/adduser
/freebsd-9.3-release/usr.sbin/amd
/freebsd-9.3-release/usr.sbin/ancontrol
/freebsd-9.3-release/usr.sbin/apmd
/freebsd-9.3-release/usr.sbin/arp
/freebsd-9.3-release/usr.sbin/authpf
/freebsd-9.3-release/usr.sbin/bluetooth/ath3kfw
/freebsd-9.3-release/usr.sbin/bluetooth/bthidd
/freebsd-9.3-release/usr.sbin/bluetooth/hccontrol
/freebsd-9.3-release/usr.sbin/bluetooth/sdpd
/freebsd-9.3-release/usr.sbin/boot0cfg
/freebsd-9.3-release/usr.sbin/bootparamd
/freebsd-9.3-release/usr.sbin/bsdconfig
/freebsd-9.3-release/usr.sbin/bsdinstall
/freebsd-9.3-release/usr.sbin/bsdinstall/scripts
/freebsd-9.3-release/usr.sbin/bsnmpd
/freebsd-9.3-release/usr.sbin/bsnmpd/modules/snmp_hostres
/freebsd-9.3-release/usr.sbin/bsnmpd/modules/snmp_wlan
/freebsd-9.3-release/usr.sbin/bsnmpd/tools/bsnmptools
/freebsd-9.3-release/usr.sbin/btxld
/freebsd-9.3-release/usr.sbin/burncd
/freebsd-9.3-release/usr.sbin/cdcontrol
/freebsd-9.3-release/usr.sbin/chkgrp
/freebsd-9.3-release/usr.sbin/config
/freebsd-9.3-release/usr.sbin/cpucontrol
/freebsd-9.3-release/usr.sbin/crashinfo
/freebsd-9.3-release/usr.sbin/cron
/freebsd-9.3-release/usr.sbin/cron/crontab
/freebsd-9.3-release/usr.sbin/crunch
/freebsd-9.3-release/usr.sbin/ctladm
/freebsd-9.3-release/usr.sbin/ctm/ctm_dequeue
/freebsd-9.3-release/usr.sbin/daemon
/freebsd-9.3-release/usr.sbin/diskinfo
/freebsd-9.3-release/usr.sbin/edquota
/freebsd-9.3-release/usr.sbin/etcupdate
/freebsd-9.3-release/usr.sbin/flowctl
/freebsd-9.3-release/usr.sbin/freebsd-update
/freebsd-9.3-release/usr.sbin/fwcontrol
/freebsd-9.3-release/usr.sbin/gpioctl
/freebsd-9.3-release/usr.sbin/gssd
/freebsd-9.3-release/usr.sbin/i2c
/freebsd-9.3-release/usr.sbin/ifmcstat
/freebsd-9.3-release/usr.sbin/inetd
/freebsd-9.3-release/usr.sbin/iostat
/freebsd-9.3-release/usr.sbin/ip6addrctl
/freebsd-9.3-release/usr.sbin/jail
/freebsd-9.3-release/usr.sbin/jls
/freebsd-9.3-release/usr.sbin/kbdcontrol
/freebsd-9.3-release/usr.sbin/kbdmap
/freebsd-9.3-release/usr.sbin/keyserv
/freebsd-9.3-release/usr.sbin/kgmon
/freebsd-9.3-release/usr.sbin/kldxref
/freebsd-9.3-release/usr.sbin/lpr
/freebsd-9.3-release/usr.sbin/lpr/filters
/freebsd-9.3-release/usr.sbin/lpr/lpd
/freebsd-9.3-release/usr.sbin/makefs
/freebsd-9.3-release/usr.sbin/memcontrol
/freebsd-9.3-release/usr.sbin/mergemaster
/freebsd-9.3-release/usr.sbin/mfiutil
/freebsd-9.3-release/usr.sbin/mixer
/freebsd-9.3-release/usr.sbin/mountd
/freebsd-9.3-release/usr.sbin/moused
/freebsd-9.3-release/usr.sbin/mptutil
/freebsd-9.3-release/usr.sbin/mtest
/freebsd-9.3-release/usr.sbin/mtree
/freebsd-9.3-release/usr.sbin/named
/freebsd-9.3-release/usr.sbin/ndiscvt
/freebsd-9.3-release/usr.sbin/ndp
/freebsd-9.3-release/usr.sbin/newsyslog
/freebsd-9.3-release/usr.sbin/nfscbd
/freebsd-9.3-release/usr.sbin/nfsd
/freebsd-9.3-release/usr.sbin/nmtree
/freebsd-9.3-release/usr.sbin/ntp
/freebsd-9.3-release/usr.sbin/pc-sysinstall
/freebsd-9.3-release/usr.sbin/pciconf
/freebsd-9.3-release/usr.sbin/pkg
/freebsd-9.3-release/usr.sbin/pkg_install
/freebsd-9.3-release/usr.sbin/pkg_install/add
/freebsd-9.3-release/usr.sbin/pkg_install/info
/freebsd-9.3-release/usr.sbin/pkg_install/updating
/freebsd-9.3-release/usr.sbin/pmcannotate
/freebsd-9.3-release/usr.sbin/pmccontrol
/freebsd-9.3-release/usr.sbin/pmcstat
/freebsd-9.3-release/usr.sbin/portsnap
/freebsd-9.3-release/usr.sbin/portsnap/portsnap
/freebsd-9.3-release/usr.sbin/powerd
/freebsd-9.3-release/usr.sbin/ppp
/freebsd-9.3-release/usr.sbin/pw
/freebsd-9.3-release/usr.sbin/pwd_mkdb
/freebsd-9.3-release/usr.sbin/rarpd
/freebsd-9.3-release/usr.sbin/route6d
/freebsd-9.3-release/usr.sbin/rpc.lockd
/freebsd-9.3-release/usr.sbin/rpc.statd
/freebsd-9.3-release/usr.sbin/rpc.yppasswdd
/freebsd-9.3-release/usr.sbin/rpc.ypupdated
/freebsd-9.3-release/usr.sbin/rpc.ypxfrd
/freebsd-9.3-release/usr.sbin/rrenumd
/freebsd-9.3-release/usr.sbin/rtadvctl
/freebsd-9.3-release/usr.sbin/rtadvd
/freebsd-9.3-release/usr.sbin/rtprio
/freebsd-9.3-release/usr.sbin/rtsold
/freebsd-9.3-release/usr.sbin/rwhod
/freebsd-9.3-release/usr.sbin/sa
/freebsd-9.3-release/usr.sbin/sade
/freebsd-9.3-release/usr.sbin/sendmail
/freebsd-9.3-release/usr.sbin/service
/freebsd-9.3-release/usr.sbin/services_mkdb
/freebsd-9.3-release/usr.sbin/setfib
/freebsd-9.3-release/usr.sbin/smbmsg
/freebsd-9.3-release/usr.sbin/syslogd
/freebsd-9.3-release/usr.sbin/sysrc
/freebsd-9.3-release/usr.sbin/tcpdrop
/freebsd-9.3-release/usr.sbin/tcpdump
/freebsd-9.3-release/usr.sbin/timed
/freebsd-9.3-release/usr.sbin/timed/timed
/freebsd-9.3-release/usr.sbin/traceroute6
/freebsd-9.3-release/usr.sbin/tzsetup
/freebsd-9.3-release/usr.sbin/uhsoctl
/freebsd-9.3-release/usr.sbin/usbdump
/freebsd-9.3-release/usr.sbin/utxrm
/freebsd-9.3-release/usr.sbin/vidcontrol
/freebsd-9.3-release/usr.sbin/vipw
/freebsd-9.3-release/usr.sbin/wake
/freebsd-9.3-release/usr.sbin/watch
/freebsd-9.3-release/usr.sbin/watchdogd
/freebsd-9.3-release/usr.sbin/wlandebug
/freebsd-9.3-release/usr.sbin/wpa
/freebsd-9.3-release/usr.sbin/wpa/hostapd
/freebsd-9.3-release/usr.sbin/wpa/wpa_supplicant
/freebsd-9.3-release/usr.sbin/yp_mkdb
/freebsd-9.3-release/usr.sbin/ypbind
/freebsd-9.3-release/usr.sbin/yppush
/freebsd-9.3-release/usr.sbin/ypserv
/freebsd-9.3-release/usr.sbin/zic
267654 20-Jun-2014 gjb

Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


267350 11-Jun-2014 hselasky

MFC r267240:
Resolve a deadlock setting the USB configuration index from userspace
on USB HUBs by moving the code into the USB explore threads. The
deadlock happens because child devices of the USB HUB don't have the
expected reference count when called from outside the explore
thread. Only the HUB device itself, which the IOCTL interface locks,
gets the correct reference count.

Approved by: re, marius @


266666 25-May-2014 hselasky

MFC r266541:

- Fix a bug where the TLBPC value was forced to being odd for IN
direction isochronous transfers.
- Remove setting of fields which does not belong to the respective
TRBs. These fields are currently set as zero and this is more a
cosmetic change.

Approved by: re


266258 16-May-2014 hselasky

MFC r265779:
Fix for NULL pointer.


265079 29-Apr-2014 hselasky

MFC r265015:
Setting the IMOD value below 0x3F8 can cause IRQ lockups in the Intel
LynxPoint USB 3.0 controllers found in MacBookPro 2013's.


265050 28-Apr-2014 ian

MFC uftdi(4) driver changes...
r264010: Support speeds up to 12mbaud on newer chips.
r264018: Update list of supported FTDI chips.
r264031: Use 2K IO buffers for improved throughput.
r264149: Add ioctl(2) calls to access bitbang, MPSSE, CPU_FIFO,
and other modes.
r264800: Various fixes to r264149 pointed out by Coverity scan.


264914 25-Apr-2014 hselasky

MFC r264653:
Add new USB quirk.


264746 22-Apr-2014 yongari

MFC r264062:
Correct endianness handling in getting station address from EEPROM.
While I'm here, remove aue_eeprom_getword() as its only usage is to
read station address and make it more readable. This change is
inspired by NetBSD.
With this change, aue(4) should work on big endian architectures.

PR: 188177


264636 18-Apr-2014 hselasky

MFC r264340:
Correct IMOD default value according to comment.


264337 11-Apr-2014 hselasky

MFC r264294:
Fix for infinite XHCI reset loops when the set address USB request fails.


264329 10-Apr-2014 joerg

MFC r264084: make the Dresden Elektronik "USB Level Shifter Stick Low Cost"
known to the FTDI driver.


263800 27-Mar-2014 hselasky

MFC r263423:
Try to resolve a possible deadlock when detaching USB devices which
create character devices. The deadlock can happen if an application is
issuing IOCTLs which require USB refcounting, at the same time the USB
device is detaching.

There is already a counter in place in the USB device structure to
detect this situation, but it was not always checked ahead of invoking
functions that might destroy character devices, like detach, set
configuration, set alternate interface or detach active kernel driver.


263688 24-Mar-2014 emaste

MFC r263289: Update NetBSD Foundation copyrights to 2-clause BSD

The NetBSD Foundation states "Third parties are encouraged to change the
license on any files which have a 4-clause license contributed to the
NetBSD Foundation to a 2-clause license."

This change removes clauses 3 and 4 from copyright / license blocks that
list The NetBSD Foundation as the only copyright holder.

Sponsored by: The FreeBSD Foundation


263644 22-Mar-2014 hselasky

MFC r263159:
Workaround for USB MIDI adapters which use non-supported values of
wMaxPacketSize for BULK endpoints.


263260 17-Mar-2014 hselasky

MFC r262972:
Ignore USB keyboard driver calls from critical sections.


263209 15-Mar-2014 hselasky

MFC r262663:
- Make pointer easier to control when moving slowly.
- Increase chance of vertical scrolling as vertical scrolling is used more often.


263166 14-Mar-2014 hselasky

MFC r227751, r238766, r241553, r242748, r244047, r245947, r246021, r247255,
r249039, r249204, r250848, r251351, r252295, r252498, r255123, r255238,
r256782, r257132, r257390 and r259675:
- Add various new USB ID's and quirks.
- Make sure the usbdevs mergeinfo gets recorded on the sys directory.


263163 14-Mar-2014 hselasky

MFC r262550, r262551 and r262554:
Add support for kqfilter to USB character devices.


263075 12-Mar-2014 hselasky

MFC r262732:
Add new quirk.

PR: usb/187188


263074 12-Mar-2014 hselasky

MFC r262795:
- Temporary fix for race in RUN driver which can
cause freed memory to be accessed.
- Properly lock callout_reset()'s.


263071 12-Mar-2014 hselasky

MFC r262477:
Updates for WSP driver.


263068 12-Mar-2014 hselasky

MFC
Sync usbdevs file to head branch.


263064 12-Mar-2014 hselasky

MFC r262417, r262439, r262454, r262455 and r262478:
- Several updates and improvements to ATP driver.
- Start effort merging WSP and ATP driver.


262605 28-Feb-2014 kevlo

MFC r262465:

Add a flag to run's device list which uses a standard scsi eject.
The flag indicates that the mcu doesn't need to load firmware.

Tested by: Alex Deiter <alex dot deiter at gmail.com>, myself
Tested on: ASUS USB-N66


262594 28-Feb-2014 rodrigc

MFC r262142:

In ue_attach_post_task(), initialize curvnet to vnet0 before calling if_attach().
Before this patch, curvnet was NULL.
When the VIMAGE kernel option is enabled, this eliminates
kernel panics when USB ethernet devices are plugged in.

PR: 183835
Submitted by: Hiroo Oono <hiroo.ono at gmail dot com>


262457 24-Feb-2014 dim

MFC r262125:

In sys/dev/usb/controller/uss820dci.c, similar to r261977, fix a warning
about uss820dci_odevd being unused, by adding it to the part that
handles getting descriptors.

Reported by: loos
Reviewed by: hselasky


262371 23-Feb-2014 hselasky

MFC r261872:
Fix minor logical error in the XHCI driver. Set correct SETUP packet
direction value.


262368 23-Feb-2014 hselasky

MFC r261827:
- Remove not needed definitions from driver.
- Get USB input report length from HID descriptor.
- Use 1 finger TAP for devices which has no integrated button.
- Move data buffer to softc instead of allocating it.


262365 23-Feb-2014 hselasky

MFC r261981:
Add new PCI ID for hardware which needs port routing for USB 3.0.

PR: usb/186811


262362 23-Feb-2014 hselasky

MFC r261541, r261543 and r261544:
Import USB RNDIS driver to FreeBSD from OpenBSD.
Useful for so-called USB tethering.
- Imported code from OpenBSD
- Adapted code to FreeBSD
- Removed some unused functions
- Fixed some buffer encoding and decoding issues
- Optimised data transport path a bit, by sending multiple packets at a time
- Increased receive buffer to 16K


262359 23-Feb-2014 hselasky

MFC r261795:
Issue doorbell twice before finally freeing the DMA descriptors. This
should fix DMA descriptor caching issues seen with the EHCI controller
found in Google Chromebook C720 during removal and insertion of USB
devices.


262213 19-Feb-2014 dim

MFC r261977:

In sys/dev/usb/controller/musb_otg.c, fix a warning about musbotg_odevd
being unused, by adding it to the part that handles getting descriptors.

Reviewed by: hselasky


262138 17-Feb-2014 markj

MFC r258036:
Add IDs for the ASIX 88179 and 88178A USB to GigE adapters.

MFC r258331:
Import the axge(4) driver for the ASIX AX88178A and AX88179 USB Ethernet
adapters. Both devices support Gigabit Ethernet and USB 2.0, and the AX88179
supports USB 3.0.

MFC r258617 (by lwhsu):
Also note to add xhci(4) to kernel configuration to utilize USB 3.0

MFC r258618 (by lwhsu):
Mention axge(4)


261933 15-Feb-2014 kevlo

MFC r255238:

Add support for DLINK DWA-127 Wireless Adapter.


261865 14-Feb-2014 kevlo

MFC r259544, r259545, r259546, r259547, r259812, r259939, r260219, r260542,
r261118, r261124, r261330:

- Add support for the MediaTek/Ralink RT3593 chipset.
- Various minor USB WLAN fixes and improvements.


261580 07-Feb-2014 hselasky

MFC r244535, r245995, r261505 and r258961:
- Use a boundary of zero, hence a PAGE_SIZE boundary
is implied by all memory allocations.
- Fix an external compiler warning about write-only
assigned variable.


261510 05-Feb-2014 hselasky

MFC r261260, r261262, r261315 and r261343:
Add support for trackpads found in Apple MacBook products. While at it
add some missing devd entries.


261485 04-Feb-2014 hselasky

MFC r260903:
Add support for GPS ports to UHSO driver.


261477 04-Feb-2014 hselasky

MFC r261228:
When detaching a [USB] keyboard, keys might still be pressed. Ensure
that all pressed keys are released before completing the USB keyboard
detach. This will prevent so-called "ghost-keys" from appearing after
that the USB device generating the key event(s) has been detached.


261472 04-Feb-2014 hselasky

MFC r261134:
Add more USB quirks.


261467 04-Feb-2014 hselasky

MFC r261123:
Reduce dmesg verbosity.


261466 04-Feb-2014 hselasky

MFC r261004, r261005 and r261033:
Adjust the DMA delay logic so that the DMA delay does not become too small.


261464 04-Feb-2014 hselasky

MFC r261003:
Add new quirk.

PR: usb/185968


261114 24-Jan-2014 hselasky

MFC r260534:
Move USB ID from u3g driver to uhso driver.


261112 24-Jan-2014 hselasky

MFC r258545:
Comply to the XHCI specification. Certain input context fields should
always be zero.


261109 24-Jan-2014 hselasky

MFC r260808 and r260814:
- Close a minor deadlock.
- Fix a possible memory use after free and leak situation associated
with USB device detach when using character device handles. This also
includes LibUSB. It turns out that "usb_close()" cannot always get a
reference to clean up its USB transfers and such, if called during the
kernel USB device detach.


261106 24-Jan-2014 hselasky

MFC r260588 and r260589:
- Separate I/O errors from reception of STALL PID.
- Implement better error recovery for Transaction Translators, TTs,
found in High Speed USB HUBs which translate from High Speed USB into
FULL or LOW speed USB. In some rare cases SPLIT transactions might get
lost, which might leave the TT in an unknown state. Whenever we detect
such an error try to issue either a clear TT buffer request, or if
that is not possible reset the whole TT.


261103 24-Jan-2014 hselasky

MFC r260563:
Make sure reserved fields of the EHCI DMA descriptors are not dirty
after previous transfers.


261100 24-Jan-2014 hselasky

MFC r260559:
Don't do synchronous USB requests inside USB transfer callbacks. It is
technically OK, but not recommended.


261097 24-Jan-2014 hselasky

MFC r260388, r260535 and r260536:
Fix XHCI interrupt logic for "Intel Lynx Point" found in MBP2013.


260575 12-Jan-2014 hselasky

MFC r244607 and r244650:
Fix regression issues after r244503.

PR: usb/185628


260538 11-Jan-2014 hselasky

MFC r260184:
Minor correction for the XHCI reset logic.


260284 04-Jan-2014 dim

MFC r260055:

In sys/dev/usb/wlan/if_urtw.c, #if 0 a static const variable, which has
been unused since r198194.


259606 19-Dec-2013 hselasky

MFC r259248 and r259462:
Set chain bit correctly. This will fix some problems sending and
receiving Zero Length Packets, ZLPs. See comment in code for more
information.


259602 19-Dec-2013 hselasky

MFC r259023 and r259095:
Improve the XHCI command timeout recovery handling code.
Fix some typos while at it.


259593 19-Dec-2013 truckman

MFC r258363:

Add alternate ID for Novatel MiFi 2200 CDMA, which is used by my
Virgin Mobile branded device. It needs the U3GINIT_SCSIEJECT quirk.


259460 16-Dec-2013 hselasky

MFC r253757:
Fix alignment of USB WLAN radiotap headers. This makes USB WLAN adapters
work on ARM, MIPS and similar platforms, where alignment matters.


259459 16-Dec-2013 hselasky

MFC r256718, r257410 and r257411:
- Fix RF registers for RT3070.
- Initialize BBP68 to improve RX sensitivity.
- Add RT2860_BCN_OFFSET1 and RT2860_MAX_LEN_CFG register initialization to
match with the vendor driver. While here, remove unused RT2860_DEF_MAC
definition.


259458 16-Dec-2013 hselasky

MFC r258083:
Remove a couple of unused macros.


259457 16-Dec-2013 hselasky

MFC r238274, r246752, r256720, r256721, r256722, r256955, r257409
r257429, r257435, r257712, r257732, r257743, r257748, r257955
r257957, r257958, r258082, r258641, r258643, r258732, r258733,
r258840, r258919, r258921, r259029, r259030, r259031, r259032 and r259046:

- Add support for the MediaTek/Ralink RT5370/RT5372 chipset.
- Various minor USB WLAN fixes and improvements.

PR: usb/182936


259456 16-Dec-2013 hselasky

MFC r246614:
- Streamline detach logic in wlan drivers, so that
freed memory cannot be used during detach.
- Remove all panic() calls from the urtw driver because
panic() is not appropriate here.
- Remove redundant checks for device detached in
device detach callbacks.
- Use DEVMETHOD_END to mark end of device methods.


259455 16-Dec-2013 hselasky

MFC r246765:

Remove unused variable.


259454 16-Dec-2013 hselasky

MFC r244503 and r246565:

Make sure all USB drivers allocate buffer memory
through the USB API and/or busdma.

The following assumptions have been made:
umass - buffers passed from CAM/SCSI layer are OK
network - mbufs are OK.

Some other nits while at it.


258218 16-Nov-2013 mav

MFC r250576 (by eadler):
Fix several typos

PR: kern/176054


257373 30-Oct-2013 hselasky

MFC r257206:
Fix a deadlock when trying to power off a USB device. The deadlock
happens because the code in question is trying to modify the parent
USB port registers outside the USB explore thread.


257107 25-Oct-2013 hselasky

MFC r256750:
Improve XHCI stability. When a command timeout happens, the command
should be aborted else the command queue can stop. Refer to section
"4.6.1.2" of the XHCI specification.


257042 24-Oct-2013 hselasky

MFC r256500:
Add new USB ID.

PR: usb/182936


257041 24-Oct-2013 hselasky

MFC r252912, r254828 and r256548:
Add host mode support to the Mentor Graphics USB OTG controller driver.

PR: usb/181987


257040 24-Oct-2013 hselasky

MFC r241082:
Inherit USB mode from RootHUB port where the USB device is connected.
Only RootHUB ports can be dual mode. Disallow OTG ports on external HUBs.
This simplifies some checks in the USB controller drivers.


255965 01-Oct-2013 hselasky

MFC r255768:
Stability fixes for Intel LynxPoint XHCI controllers. Disable XHCI port
routing if we get certain errors. Poll for command completion upon
command timeouts. The XHCI error events might not generate interrupts.

PR: usb/181159


255693 19-Sep-2013 hselasky

MFC r255488:
Don't issue USB resume signalling in USB device mode, if the USB power
mode is ON and suspend is detected. This confuses iPads running in USB
host mode at least.


255663 18-Sep-2013 hselasky

MFC r255472:
Clear correct data structure.


255631 17-Sep-2013 hselasky

MFC r254572:
Force keyboards which don't have the required
HID fields to use the USB BOOT protocol for now.

PR: usb/181425


255630 17-Sep-2013 hselasky

MFC r248246:

- Make quirk for reading device descriptor from broken USB devices.
Else they won't enumerate at all:
hw.usb.full_ddesc=1
- Reduce the USB descriptor read timeout from 1000ms to
500ms. Typical value for LOW speed devices is 50-100ms.
- Enumerate USB device a maximum of 3 times when a port
connection change event is detected, before giving up.


255609 16-Sep-2013 hselasky

MFC r255356:

Revert parts of r245132 and r245175. We don't need to write to the
IMAN register to clear the pending interrupt status bits. This patch
tries to solve problems seen on the MacBook Air, as reported by
Johannes Lundberg <johannes@brilliantservice.co.jp>


255345 07-Sep-2013 hselasky

MFC r255090 and r255128:

PR: kern/181728


254761 24-Aug-2013 hselasky

MFC r254438:
Fix some USB controller names according to pciconf output.

Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>


254566 20-Aug-2013 emaste

MFC r250201 from hselasky:

Add new USB API to get the port path of a USB device.


254555 20-Aug-2013 hselasky

MFC r254243:
- Try to fix build of 32-bit compatibility USB support for FreeBSD and
Linux targets without breaking the existing IOCTL API.

- Remove some not-needed header file inclusions.

- Wrap a long line.

Reported by: Damjan Jovanovic <damjan.jov@gmail.com>


254551 20-Aug-2013 hselasky

MFC r254238:
Correct an EHCI register write.

Reported by: aseem.jolly@gmail.com


253665 26-Jul-2013 hselasky

MFC r253532:

Fix an XHCI regression:

The Block Event Interrupts, BEI, feature does not
work like expected with the Renesas XHCI chipsets.
Revert feature.

While at it correct the TD SIZE computation in
case of Zero Length Packet, ZLP, in the end of a
multi frame USB transfer.

PR: usb/180726
Approved by: re, hrs


253464 19-Jul-2013 kib

MFC r253398:
Add a tunable to force disable MSI use for xhci(4).

Approved by: re (delphij)


253379 16-Jul-2013 kib

MFC r253094:
Use MSI for xhci(4), if supported.

Approved by: re (delphij)


253292 12-Jul-2013 remko

MFC r252294 and r252295:

Add support for the NTT Docomo L-02C Card

PR: 180017
Submitted by: Masaharu FUJITA
Glanced at by: imp
Approved by: re (delphij)


253059 09-Jul-2013 hrs

MFC r252501:

Add Planex MZK-UE150N.

Submitted by: Yusuke Tanaka


252444 01-Jul-2013 yongari

MFC r252185:
Add Lenovo USB 2.0 Ethernet adapter.

PR: usb/179920


252442 01-Jul-2013 yongari

MFC r252143:
When RX checksum offloading is active, AX88772B will prepend a
checksum header. The header contains a received frame length but
the defined length for AX88772B is different with other ASIX
controllers. When the RX checksum is off, AX88772B controller does
not prepend a checksum header so driver has to use normal header
length mask.
This change should fix RX errors when RX checksum offloading is
off.


251701 13-Jun-2013 eadler

MFC r251109:
Add support for tethering on the iPhone 4S

PR: usb/179078


251614 11-Jun-2013 hselasky

MFC r251249, r251251, r251252, r?\0242512, r251254 and r251515:
Correct XHCI DMA descriptor programming.
Correct maximum IRQ rate.


250847 21-May-2013 hselasky

MFC r248458:
Add new USB ID.

PR: usb/177013


250845 21-May-2013 hselasky

MFC r248499:
Add new USB ID.

PR: usb/177105


250842 21-May-2013 hselasky

MFC r248566:
Add new USB ID.

PR: usb/177173


250560 12-May-2013 hselasky

MFC r249795:
Add convenience wrapper functions to run callbacks in the context of the
USB explore thread.


250559 12-May-2013 hselasky

MFC r249725:
Add new OHCI controller ID.


250288 05-May-2013 gavin

Merge r248175 from head:
Add support for Optoelectronics USB barcode readers to uftdi(4).
Add entries for other Optoelectronics devices to usbdevs.


250144 01-May-2013 mav

MFC r245647 (by kan):
Do not pretend to have autosense data when no such data is available.

Make umass return an error code if SCSI sense retrieval request
has failed. Make sure scsi_error_action honors SF_NO_RETRY and
SF_NO_RECOVERY in all cases, even if it cannot parse sense bytes.


250142 01-May-2013 mav

MFC r245328:
Freeze device queue before returning errors to CAM. This is required
for proper error recovery, including keeping original request order.


249624 18-Apr-2013 mav

MFC r249336:
Add ID for ASMedia ASM1042 USB 3.0 controller.


248085 09-Mar-2013 marius

MFC: r227309 (partial)

Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.

The SYSCTL_NODE macro defines a list that stores all child-elements of
that node. If there's no SYSCTL_DECL macro anywhere else, there's no
reason why it shouldn't be static.


248078 09-Mar-2013 marius

MFC: r243857 (partial)

Mechanically substitute flags from historic mbuf allocator with
malloc(9) flags in sys/dev.


247555 01-Mar-2013 jhb

MFC 246037:
Mark 'ticks', 'time_second', and 'time_uptime' as volatile to prevent the
compiler from caching their values in tight loops.


247475 28-Feb-2013 hselasky

MFC r246789:
Add USB API to read power draw on USB devices.
Update usbconfig to print power draw on USB devices.


247474 28-Feb-2013 hselasky

MFC r246753:
Add new USB ID to FTDI driver.

PR: kern/175893


247473 28-Feb-2013 hselasky

MFC r246944:
Fix bad EEPROM parsing code.


247090 21-Feb-2013 hselasky

MFC r246616 and r246759:

- Move scratch data from the USB bus structure to the USB device
structure so that simultaneous access cannot happen. Protect scratch
area using the enumeration lock.
- Reduce stack usage in usbd_transfer_setup() by moving some big stack
members to the scratch area. This saves around 200 bytes of stack.
- Fix a whitespace.
- Protect control requests using the USB device enumeration lock.
- Make sure all callers of usbd_enum_lock() check the return value.
- Remove the control transfer specific lock.
- Bump the FreeBSD version number, hence external USB modules may need
to be recompiled due to a USB device structure change.


246786 14-Feb-2013 hselasky

MFC r246421 and r246454:
Add support for buttons on USB audio devices,
like Volume Up, Volume Down and Mute.

Reviewed by: mav @


246395 06-Feb-2013 hselasky

MFC r246113 and r246126:
Add missing NULL pointer check.

Reported by: Lars Engels


246022 28-Jan-2013 hselasky

MFC r245725:
Add new quirk and correct old one.

PR: usb/175454
MFC after: 1 week


245734 21-Jan-2013 hselasky

MFC r245249:

Bugfix: Fix sizeof() argument.
Found by: Haakon Loevdal


245733 21-Jan-2013 hselasky

MFC r245248:
Fix detection of Razer Copperhead as a USB mouse.
Factor out USB mouse and keyboard detection logic.
Reject USB keyboards which have mouse alike HID items
in their HID descriptors.

Submitted by: Matthew W


245732 21-Jan-2013 hselasky

MFC r245132 and r245175:
Optimise the XHCI interrupt handling.
This patch will save CPU time when the XHCI interrupt is
shared with other devices.
Only check event rings when interrupt bits are set.
Otherwise would indicate hiding possible hardware fault(s).

Tested by: sos @
Submitted by: sos @


245731 21-Jan-2013 hselasky

MFC r243780:
- Add support for Etron EJ168 USB 3.0 Host Controllers.
This brand of controllers expects that the number of
contexts specified in the input slot context points
to an active endpoint context, else it refuses to
operate.

- Wrap one or two long lines.

Tested by: Markus Pfeiffer (DragonFlyBSD)


245729 21-Jan-2013 hselasky

MFC r245047:
Fix for "run0: wcid=xx out of range" error message.

PR: usb/174963
Submitted by: PseudoCylon <moonlightakkiy@yahoo.ca>


245727 21-Jan-2013 hselasky

MFC r244837 and r245427:
Add new USB IDs.

PR: usb/174814
Submitted by: Andy Balholm, Lowell Gilbert


245358 13-Jan-2013 markj

MFC r244719:
Add the NO_SYNC_CACHE quirk for all Apple USB MSC devices, as they
typically do not handle the SYNCHRONIZE_CACHE command - they either
return an error or the firmware enters a reset loop.

Approved by: rstone (co-mentor)


244814 29-Dec-2012 hselasky

MFC r244491:
Add support for throttling UMASS.
Mostly useful for debugging purposes.


244813 29-Dec-2012 hselasky

MFC r244489:
Make sure we block recursion on TTY's inwakeup callback

Suggested by: davide


244003 08-Dec-2012 eadler

MFC r243663:
Add support for AT&T Sierra Wireless USB 3G adapter

PR: kern/173982
Approved by: cperciva (implicit)


243657 28-Nov-2012 hselasky

MFC r243380:
Fix uplcom clear stall logic for PL2303HX.

Submitted by: Mark Johnston


243656 28-Nov-2012 hselasky

MFC r242619, r242695, r242702 and r242703:
Implement support for RTS (flow control).
Improve USB serial console support.
Implement a USB serial jitter buffer in receive direction.


243654 28-Nov-2012 hselasky

Add new USB IDs.

PR: usb/173503


242822 09-Nov-2012 hselasky

MFC r242127, r240078, r240609, r241988, r242129, r242223, r242438,
r242453, r242455 and r242458:

Add full support for Fast Track Ultra 8R from M-audio.

Implement support for USB Audio v2.0.

Remove some redundant USB audio v1.0 debug data. Use lsusb instead.

Implement support for the so-called USB feedback endpoint for USB
audio devices.

Export all mixer nodes into dev.pcm.X.mixer.Y sysctl nodes.

PR: usb/171254


242821 09-Nov-2012 hselasky

MFC r241432, r242628 and r242364:
Remove ancient mass storage gone checks.
Add some more mass storage related quirks.
Improve auto-quirk detection for mass storage devices.


242820 09-Nov-2012 hselasky

MFC r240743 and r234418:
Fix some typos.


242819 09-Nov-2012 hselasky

MFC r238466 and r242777:
Implement non-PHY support in the udav driver.


242776 08-Nov-2012 hselasky

MFC r242523:
Allow using the embedded EHCI host controller in Freescale SoCs
by adding the missing bits. See ehci_fsl.c for their use.


242775 08-Nov-2012 hselasky

MFC r240750, r241987 and r242126:
Add missing CTLFLAG_TUN flag to tunable sysctls in the USB stack.
Adjust timing parameters of FULL/LOW/HIGH speed USB enumeration
and make these timing parameters tunable. This patch will fix
enumeration with some USB devices.
Fix a typo.


242774 08-Nov-2012 hselasky

MFC r238551 and r239617:
Add support for Intel Panther/Lynx Point XHCI port routing.


242281 29-Oct-2012 eadler

MFC r241843:
Make uhid attach to devices that look like keyboards
or mice if the quirk which prevents higher level
drivers from attaching is set.

PR: usb/172458
Approved by: cperciva (implicit)


242278 29-Oct-2012 eadler

MFC r241793:
Add support for iPhone 5 tethering.

PR: usb/172172
Approved by: cperciva (implicit)


242100 25-Oct-2012 n_hibma

MFC 241555:

Implement modem control in u3g. Tested on Option GTM382W, Huawei E220,
and Sierra Wireless MC8790V. Also implement the .ucom_poll method.

Note: It resolves ppp hanging during the PPp> phase.


241624 17-Oct-2012 eadler

MFC r241552:
Add support for Feiya Elango USB MicroSD

PR: usb/153599
Approved by: cperciva (implicit)


241622 17-Oct-2012 eadler

MFC r241551:
Add support for the Buffalo RUF2 flash drive.

PR: usb/166848
Approved by: cperciva (implicit)


241104 01-Oct-2012 gavin

Merge r240683 from head
Add entries for two USB devices I have locally.


241087 01-Oct-2012 hselasky

MFC r240856:
Correct driver name.


240669 18-Sep-2012 hselasky

MFC r238079, r238493, r238526, r238529 and r238717:
Add new USB ID's.

PR: usb/169789


240668 18-Sep-2012 hselasky

MFC r240597:
Remove unused variable cd.
This variable is initialized but not used.


240667 18-Sep-2012 hselasky

MFC r240615:
Add UQ_UMS_IGNORE quirk.
Wrap two long lines.
Some minor spelling correction.

PR: usb/171721


240666 18-Sep-2012 hselasky

MFC r239237:
Improve auto-quirks detection for certain Kingston memory sticks.


240665 18-Sep-2012 hselasky

MFC r240382:
Restart the USB transfer if the error is not USB_ERR_CANCELLED.


240664 18-Sep-2012 hselasky

MFC r237079, r238078, r238779, r238803, r238804, r239055,
r239298, r239358 and r239567:

Add new USB ID's and some quirks.


240662 18-Sep-2012 hselasky

MFC r232358:
Close a detach race. Make sure all pending
CCB's get canceled at device detach.


240661 18-Sep-2012 hselasky

MFC r232361:
Style change: Expand redundant #if's. Remove a couple of empty lines.


240660 18-Sep-2012 hselasky

MFC r239050 and r239260:
Rename command defines to match names used in the datasheet.


240659 18-Sep-2012 hselasky

MFC r239178, r239179, r239180, r239181, r239182 and r239299:

Fix detach of USB serial devices so that it doesn't block
the USB explore thread forever. To accomplish this two new
functions have been added to the kernel, to claim and free
the newbus allocated softc.

This change is backwards API compatible, but not binary
compatible. The FreeBSD version has been bumped to force
a recompile of all kernel modules.

Discussed with: kib, ed, jhb


240657 18-Sep-2012 hselasky

MFC r238274 and r239358
Add new USB device ID's.


240567 16-Sep-2012 gavin

Merge r240118 from head:

Support another uchcom(4) device.


239826 29-Aug-2012 gavin

Merge r239037,239050 from head:
Support multiple interface devices. The driver had previously hardcoded
support for only the first port, but the CP2105 can have multiple ports.
Although without this change the the first port mostly worked on multi
port devices, there could still be issues with this arrangement.

Update the man page to reflect support for both ports and the CP2105.

Many thanks to Silicon Labs (www.silabs.com) for providing a CP2105-EK
dev board for testing.


239817 29-Aug-2012 gavin

Merge r238803, r238804 from head:

Add support for more devices to uslcom(4). This commit syncronises the
list of supported devices with the union of:

NetBSD src/sys/dev/usb/uslsa.c 1.18
OpenBSD src/sys/dev/usb/uslcom.c 1.24
Linux source/drivers/usb/serial/cp210x.c HEAD

Remove duplicate JABLOTRON PC60B entry.

Note that some of the devices added here are multi-port devices. The
uslcom(4) driver currently only supports the first port on such devices.

Update the man page to reflect the full list of supported devices.
Remove two caveats from the CAVEATS section, as both listed caveats no
longer apply. Add a caveat about multi-port devices.

Improve descriptions for several devices supported by uslcom(4).
Correct the spelling of the company Telegesis.
Move MpMan to the correct location alphabetically.


239732 27-Aug-2012 gavin

Merge r238778 from head:

The baud rate on CP1201/2/3 devices can be set in one of two ways:
- The USLCOM_SET_BAUD_DIV command (0x01)
- The USLCOM_SET_BAUD_RATE command (0x13)

Devices based on the CP1204 will only accept the latter command, and ignore
the former. As the latter command works on all chips that this driver
supports, switch to always using it.

A slight confusion here is that the previously used command was incorrectly
named USLCOM_BAUD_RATE - even though we no longer use it, rename it to
USLCOM_SET_BAUD_DIV to closer match the name used in the datasheet.

This change reflects a similar change made in the Linux driver, which was
submitted by preston.fick at silabs.com, and has been tested on all of the
uslcom(4) devices I have to hand.


239725 27-Aug-2012 gavin

Merge r238766, r238774 from head:
Update the list of devices supported by uplcom. Although this only adds
one device (support for Motorola cables), this syncronises us with:

OpenBSD src/sys/dev/usb/uplcom.c 1.56
NetBSD src/sys/dev/usb/uplcom.c 1.73
Linux kernel.org HEAD


239425 20-Aug-2012 emaste

MFC r238718: Quirk MS keyboard so that function keys work

The function keys on a Microsoft Natural Egronomic Keyboard 4000 have been
repurposed as "Help", "Undo", "Redo" etc., and a special "F Lock" key is
required to return them to their normal purpose.

This change enables the UQ_KBD_BOOTPROTO quirk for the MS Natural 4000
keyboard to get the keys working again. More extensive changes to the USB
keyboard infrastructure would be needed to fully support the "F Lock" mode
and the extended keys on this keyboard.

PR: usb/116947


238134 05-Jul-2012 mav

MFC r238015:
Add IDs for some USB controllers I have around. Just a cosmetics.

Approved by: re (kib)


237380 21-Jun-2012 marius

MFC: r230242, r237102, r237236

- Add support for the FT2232 based egnite Turtelizer 2 JTAG/RS232 Adapter.
This includes adding support for skipping FTDI interfaces used for JTAG
leaving them for userland and just attaching to the RS232 half, similarly
to how the corresponding Linux drivers handles these kind of adapters.
While at it, sort uftdi_devs and return BUS_PROBE_SPECIFIC (because
uftdi_probe() alters the instance variables for better or worse as do
other probe routines of USB drivers) instead of 0.
- Remove duplicated entries for BeagleBone.
- Use DEVMETHOD_END.
- Use NULL instead of 0 for pointers.
- Remove some stray lines.


237188 17-Jun-2012 marius

MFC: r230179

BeagleBone uses an FTDI chip with
an altered Product ID.


236898 11-Jun-2012 hselasky

MFC r233771:
Add definitions and structures for USB 2.0 Link Power Management, LPM.


236897 11-Jun-2012 hselasky

MFC r236439:
Add appropriate checks for ic_bsschan being set to IEEE80211_CHAN_ANYC in
some of the USB WLAN drivers. This fixes a panic when using monitor mode.


236895 11-Jun-2012 hselasky

MFC r236407:
Improve support for detaching kernel drivers on a per interface basis.


236477 02-Jun-2012 marius

MFC: r236070

Consistently use USB_PAGE_SIZE. Currently, this is cosmetic.


236475 02-Jun-2012 marius

MFC: r236069, r236073

Make the VIA workaround actually do its intended job.


235868 24-May-2012 mav

MFC r235558, r235569:
Add support for writing to HID devices through the interrupt output pipe.
Supermicro LCD screen modules seem to not support accessing reports through
the control pipes, but working fine with the interrupt pipes.


235866 24-May-2012 mav

MFC r235510:
HID Report ID is unsigned value, so clear the rest of bits from possible
sign expansion.


235743 21-May-2012 jhb

Toss bogus mergeinfo.


235738 21-May-2012 sbruno

MFC r235634

Fix and update battery status bits according to linux driver


235724 21-May-2012 hselasky

MFC r235451:
Move reset of USB mouse parameters from the USB mouse attach to
the USB mouse device open. Protect against multi character
device open. Some other nits.


235480 15-May-2012 avg

MFC r230643: stop_scheduler -> td_stopsched


235422 14-May-2012 marius

MFC: r235255

- Change the module order of these MAC drivers to be last so they are
deterministically handled after the corresponding PHY drivers when
loaded as modules. Otherwise, when these MAC/PHY driver pairs are
compiled into a single module probing the PHY driver may fail. This
makes r151438 and r226154 actually work. [1]
Reported and tested by: yongari (fxp(4))
- Use DEVMETHOD_END.
- Use NULL instead of 0 for pointers.

Submitted by: jhb [1]


235411 13-May-2012 avg

MFC r228765: ukbd: adjust for SCHEDULER_STOPPED() and overhaul locking code


235410 13-May-2012 avg

MFC r228760: adapt usb transfer code for SCHEDULER_STOPPED


235405 13-May-2012 avg

MFC r228631: kern cons: introduce infrastructure for console grabbing by
kernel


235002 04-May-2012 hselasky

MFC r234541:
Add new USB ID to u3g driver.


235001 04-May-2012 hselasky

MFC r234803 and r234961:
Add support for Multi-TT mode of modern USB HUBs.
This will give you more bandwidth for isochronous
FULL speed applications connected through a
High Speed HUB.

This patch has been tested with XHCI and EHCI.


235000 04-May-2012 hselasky

MFC r233774:
Fix compiler warnings, mostly signed issues,
when USB modules are compiled with WARNS=9.


234753 28-Apr-2012 dim

MFC r225941:
Fix an unaligned access issue; tidy up OFDM/DS rate decoding from the PLCP.

This fixes a panic on PPC.

Submitted by: novel
Obtained from: OpenBSD, sys/dev/ic/bwi.c r1.89

MFC r226181:
Update from OpenBSD: Include 0x4402 in the bbp id mapping table used on older devices.

http://bcm-specs.sipsolutions.net/BackPlane agrees.

Obtained from: OpenBSD, sys/dev/ic/bwi.c r1.88

MFC r226182:
Fix an incorrect use of sizeof().

Obtained from: OpenBSD sys/dev/ic/bwi.c r1.87

MFC r228621:
Fix some net80211 enum nits:
- ic_vap_create() uses an ieee80211_opmode argument
- ieee80211_rate2media() takes an ieee80211_phymode argument
- ieee80211_plcp2rate() takes an ieee80211_phytype argument
- cast to enum ieee80211_protmode and ieee80211_roamingmode to silence
compiler warnings

Submitted by: arundel@


233460 25-Mar-2012 bschmidt

MFC r233283:
Load the firmware during init not attach, as a root filesystem might
not yet be available. While here, also print the firmware version.

Submitted by: PseudoCylon


232876 12-Mar-2012 hselasky

MFC r232257:
Add support for the MCS7832.


232873 12-Mar-2012 hselasky

MFC r230238 and r232684:
Add new USB device ID's.


232870 12-Mar-2012 hselasky

MFC r232448:
Make sure that the USB system suspend event is executed synchronously
and not asynchronously.


232595 06-Mar-2012 remko

MFC r230333

Add new Logitech device to if_run(4).

Original commit message:
Add support for new USB device.

PR: usb/164275
MFC after: 3 days

PR: usb/164275


232405 02-Mar-2012 ed

MFC r231378:

Remove direct access to si_name.

Code should just use the devtoname() function to obtain the name of a
character device. Also add const keywords to pieces of code that need it
to build properly.


232038 23-Feb-2012 hselasky

MFC r230204 and r230209:
Export information about USB serial port unit and port numbers
directly via the sysctl interface.

PR: usb/164090


232036 23-Feb-2012 hselasky

MFC r231713:
Add new USB device ID.

PR: usb/165154


230302 18-Jan-2012 hselasky

MFC r230032, r230050, r230090, r230091 and r228493.
- Various XHCI and USB 3.0 related issues.
- USB 3.0 HUBs should work after this change.


229387 03-Jan-2012 mav

MFC r225839:
Import the rest of HID improvements from the branch:
- improve report descriptor parser in libusbhid to handle several kinds of
reports same time;
- add to the libusbhid API two functions wrapping respective kernel IOCTLs
for reading and writing reports;
- tune uhid IOCTL interface to allow reading and writing arbitrary report,
when multiple supported by the device;
- teach usbhidctl to set output and feature reports;
- make usbhidaction support all the same item names as bhidctl.

Sponsored by: iXsystems, inc.


229369 03-Jan-2012 hselasky

MFC r229317:
Fix for USB suspend and resume.


229121 31-Dec-2011 hselasky

MFC r228195:
Fix checks for error return from urtw_alloc_rx_data_list() and
urtw_alloc_tx_data_list().


229120 31-Dec-2011 hselasky

MFC r228232 and r228303:
Fix clang compile warnings.


229119 31-Dec-2011 hselasky

MFC r227706, r227748, r227749 and r228234:
Simplify the usb_pause_mtx() function by factoring out the generic parts
to the kernel's pause() function. The pause() function can now be used
when cold != 0. Also assert that the timeout in system ticks must be
greater or equal to zero.


229118 31-Dec-2011 hselasky

MFC r227701, r227847 and r227849:
Move the device_delete_all_children() function from usb_util.c
to kern/subr_bus.c. Simplify this function so that it no longer
depends on malloc() to execute. Rename device_delete_all_children()
into device_delete_children(). Identify a few other places where
it makes sense to use device_delete_children().


229117 31-Dec-2011 hselasky

MFC r227610 and r228243:
Add more quirks for USB mass storage devices.


229116 31-Dec-2011 hselasky

MFC r228637:
Add new USB ID.


229115 31-Dec-2011 hselasky

MFC r227781:
Add new USB IDs.

PR: usb/162712, usb/163732


229111 31-Dec-2011 hselasky

MFC r226465 and r226467:
Fix an issue with 11g beacon frames which looks to be a limitation
on the largest multi-write size.


229108 31-Dec-2011 hselasky

MFC r228494, r228508:
Fix for random USB transfer time out.


229107 31-Dec-2011 hselasky

MFC r227462:
Enable power save mode for the USB storage device driver.


229106 31-Dec-2011 hselasky

MFC r226743:
Implement TX/RX checksum offloading support for ASIX AX88772B
controller.


229105 31-Dec-2011 hselasky

MFC r226709:
Allow USB ethernet drivers to define a driver specific
attach handler so that a USB ethernet driver can
announce interface capabilities and do its own MII attach.


229103 31-Dec-2011 hselasky

MFC 228304:
Correct some bInterval USB template descriptor values.


229100 31-Dec-2011 hselasky

MFC r228709, r228711 and r228723:
- Add missing unlock of USB controller's lock, when
doing shutdown, suspend and resume.
- Add code to wait for USB shutdown to be executed at system shutdown.
- Add sysctl which can be used to skip this waiting.


229099 31-Dec-2011 hselasky

MFC r227285:
Add support for new USB modem protocol.

PR: usb/159919


229097 31-Dec-2011 hselasky

MFC r228758:
Fix for race against user-space applications trying to change the
configuration on USB HUBs.

PR: kern/163091


229096 31-Dec-2011 hselasky

MFC r229086, r228483 and r228640:
Implement better support for USB controller suspend and resume.
Fix some build issues in avr32dci.c


229093 31-Dec-2011 hselasky

MFC r226173, r227843, r227848 and r227908:
Use DEVMETHOD_END to mark end of device methods.
Remove superfluous device methods.
Add some missing __FBSBID() macros.


229084 31-Dec-2011 hselasky

MFC r227396, r227401, r227541, r227654 and r228493:
Relax XHCI timeouts which should fix enumeration issues.
Fix definition of XHCI port power bit.
Correct size of some USB 3.0 descriptor fields.

Reported by: Kohji Okuno, Jan Henrik Sylvester


229082 31-Dec-2011 hselasky

MFC r227463, r227383 and r227108:
Add support for modem control lines.
Add support for GPIO pins.

PR: usb/162307
Submitted by: JD Louw


229080 31-Dec-2011 hselasky

MFC r227461:
Style change.
Use memxxx() functions instead of bxxx() functions.


229060 31-Dec-2011 yongari

MFC r226479:
Close a race where SIOCGIFMEDIA ioctl get inconsistent link status.
Because driver is accessing a common MII structure in
mii_pollstat(), updating user supplied structure should be done
before dropping a driver lock.

Reported by: Karim (fodillemlinkarimi <> gmail dot com)


227229 06-Nov-2011 marius

MFC: r226154, r226165

- Follow the lead of dcphy(4) and pnphy(4) and move the reminder of the PHY
drivers that only ever attach to a particular MAC driver, i.e. inphy(4),
ruephy(4) and xlphy(4), to the directory where the respective MAC driver
lives and only compile it into the kernel when the latter is also there,
also removing it from miibus.ko and moving it into the module of the
respective MAC driver.
- While at it, rename exphy.c, which comes from NetBSD where the MAC driver
it corresponds to also is named ex(4) instead of xl(4) but that in FreeBSD
actually identifies itself as xlphy(4), and its function names accordingly
for consistency.
- Additionally while at it, fix some minor style issues like whitespace
in the register headers and add multi-inclusion protection to inphyreg.h.

Approved by: re (kib)


227216 06-Nov-2011 hselasky

MFC r227075:
Fix for panic at USB controller attach failure during cold boot.

Approved by: re (kib)


227007 01-Nov-2011 hselasky

MFC r226903, r225777, r226221 and r226534:
Add some new USB device IDs and some USB device quirks.
Improve the USB mass storage auto quirk detection.

PR: usb/161798, usb/160911
Approved by: re (kib)


226904 29-Oct-2011 hselasky

MFC r226803:
Fix suspend and resume of non-super-speed USB devices
in the generic XHCI driver. There appears to be some minor
logic missing for this feature to work.

Approved by: re (kib)


226306 12-Oct-2011 hselasky

MFC r226219
Fix panic due to re-using in-use modem unit number.

Approved by: re (kib)


226067 06-Oct-2011 ken

MFC r225950:

Add descriptor sense support to CAM, and honor sense residuals properly in
CAM.

Desriptor sense is a new sense data format that originated in SPC-3. Among
other things, it allows for an 8-byte info field, which is necessary to
pass back block numbers larger than 4 bytes.

This change adds a number of new functions to scsi_all.c (and therefore
libcam) that abstract out most access to sense data.

This includes a bump of CAM_VERSION, because the CCB ABI has changed.
Userland programs that use the CAM pass(4) driver will need to be
recompiled.

camcontrol.c: Change uses of scsi_extract_sense() to use
scsi_extract_sense_len().

Use scsi_get_sks() instead of accessing sense key specific
data directly.

scsi_modes: Update the control mode page to the latest version (SPC-4).

scsi_cmds.c,
scsi_target.c: Change references to struct scsi_sense_data to struct
scsi_sense_data_fixed. This should be changed to allow the
user to specify fixed or descriptor sense, and then use
scsi_set_sense_data() to build the sense data.

ps3cdrom.c: Use scsi_set_sense_data() instead of setting sense data
manually.

cam_periph.c: Use scsi_extract_sense_len() instead of using
scsi_extract_sense() or accessing sense data directly.

cam_ccb.h: Bump the CAM_VERSION from 0x15 to 0x16. The change of
struct scsi_sense_data from 32 to 252 bytes changes the
size of struct ccb_scsiio, but not the size of union ccb.
So the version must be bumped to prevent structure
mis-matches.

scsi_all.h: Lots of updated SCSI sense data and other structures.

Add function prototypes for the new sense data functions.

Take out the inline implementation of scsi_extract_sense().
It is now too large to put in a header file.

Add macros to calculate whether fields are present and
filled in fixed and descriptor sense data

scsi_all.c: In scsi_op_desc(), allow the user to pass in NULL inquiry
data, and we'll assume a direct access device in that case.

Changed the SCSI RESERVED sense key name and description
to COMPLETED, as it is now defined in the spec.

Change the error recovery action for a number of read errors
to prevent lots of retries when the drive has said that the
block isn't accessible. This speeds up reconstruction of
the block by any RAID software running on top of the drive
(e.g. ZFS).

In scsi_sense_desc(), allow for invalid sense key numbers.
This allows calling this routine without checking the input
values first.

Change scsi_error_action() to use scsi_extract_sense_len(),
and handle things when invalid asc/ascq values are
encountered.

Add a new routine, scsi_desc_iterate(), that will call the
supplied function for every descriptor in descriptor format
sense data.

Add scsi_set_sense_data(), and scsi_set_sense_data_va(),
which build descriptor and fixed format sense data. They
currently default to fixed format sense data.

Add a number of scsi_get_*() functions, which get different
types of sense data fields from either fixed or descriptor
format sense data, if the data is present.

Add a number of scsi_*_sbuf() functions, which print
formatted versions of various sense data fields. These
functions work for either fixed or descriptor sense.

Add a number of scsi_sense_*_sbuf() functions, which have a
standard calling interface and print the indicated field.
These functions take descriptors only.

Add scsi_sense_desc_sbuf(), which will print a formatted
version of the given sense descriptor.

Pull out a majority of the scsi_sense_sbuf() function and
put it into scsi_sense_only_sbuf(). This allows callers
that don't use struct ccb_scsiio to easily utilize the
printing routines. Revamp that function to handle
descriptor sense and use the new sense fetching and
printing routines.

Move scsi_extract_sense() into scsi_all.c, and implement it
in terms of the new function, scsi_extract_sense_len().
The _len() version takes a length (which should be the
sense length - residual) and can indicate which fields are
present and valid in the sense data.

Add a couple of new scsi_get_*() routines to get the sense
key, asc, and ascq only.

mly.c: Rename struct scsi_sense_data to struct
scsi_sense_data_fixed.

sbp_targ.c: Use the new sense fetching routines to get sense data
instead of accessing it directly.

sbp.c: Change the firewire/SCSI sense data transformation code to
use struct scsi_sense_data_fixed instead of struct
scsi_sense_data. This should be changed later to use
scsi_set_sense_data().

ciss.c: Calculate the sense residual properly. Use
scsi_get_sense_key() to fetch the sense key.

mps_sas.c,
mpt_cam.c: Set the sense residual properly.

iir.c: Use scsi_set_sense_data() instead of building sense data by
hand.

iscsi_subr.c: Use scsi_extract_sense_len() instead of grabbing sense data
directly.

umass.c: Use scsi_set_sense_data() to build sense data.

Grab the sense key using scsi_get_sense_key().

Calculate the sense residual properly.

isp_freebsd.h: Use scsi_get_*() routines to grab asc, ascq, and sense key
values.

Calculate and set the sense residual.

Approved by: re (kib)
Sponsored by: Spectra Logic Corporation


225736 23-Sep-2011 kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by: re (implicit)


225695 20-Sep-2011 hselasky

Avoid starting the USB transfer if an error is already pending.
This change fixes a race in device side mode during clear-stall from
host, which can cause data to be sent too early on the given
endpoint.

Approved by: re (kib)
MFC after: 1 week


225617 16-Sep-2011 kmacy

In order to maximize the re-usability of kernel code in user space this
patch modifies makesyscalls.sh to prefix all of the non-compatibility
calls (e.g. not linux_, freebsd32_) with sys_ and updates the kernel
entry points and all places in the code that use them. It also
fixes an additional name space collision between the kernel function
psignal and the libc function of the same name by renaming the kernel
psignal kern_psignal(). By introducing this change now we will ease future
MFCs that change syscalls.

Reviewed by: rwatson
Approved by: re (bz)


225556 14-Sep-2011 hselasky

Reduce USB memory usage during enumeration.

We are allocating some kilobytes of extra memory during USB device enumeration.
This does not change alot under FreeBSD, but makes sense for various embedded
operating systems using the FreeBSD USB stack, which have less memory
resources available.

Approved by: re (kib)
MFC after: 1 week


225469 10-Sep-2011 hselasky

Refactor auto-quirk solution so that we break as few external
drivers as possible.

PR: usb/160299
Approved by: re (kib)
Suggested by: rwatson
MFC after: 0 days


225400 05-Sep-2011 hselasky

Some USB mass storage devices requires that the sense information
is retrieved after a failed SCSI command to continue normal
operation. Else this sense information is retrived at the next
SCSI command.

Approved by: re (kib)
Reported by: Alex Kozlov
MFC after: 1 week
PR: usb/160299


225350 02-Sep-2011 hselasky

This patch adds automatic detection of USB mass storage devices
which does not support the no synchronize cache SCSI command.

The __FreeBSD_version version macro has been bumped and
external kernel modules needs to be recompiled after
this patch.

Approved by: re (kib)
MFC after: 1 week
PR: usb/160299


225041 20-Aug-2011 hselasky

Add new USB ID to u3g driver.

Approved by: re (kib)
MFC after: 1 week
PR: usb/159919


225038 20-Aug-2011 hselasky

Fix for recursive locking in usb_close() after change 224777.

Approved by: re (kib)
MFC after: 3 days
Reported by: kwm @


225037 20-Aug-2011 hselasky

Add new USB ID.

Approved by: re (kib)
MFC after: 1 week
PR: usb/159836


225000 19-Aug-2011 hselasky

Add sysctl to not reset the device on clear stall failures, to
temporarily mitigate problems with VMs.

Approved by: re (kib)
MFC after: 1 week


224777 11-Aug-2011 hselasky

Use synchronous device destruction instead of asynchronous, so that a new
device having the same name like a previous one is not created before the old
one is gone. This fixes some panics due to asserts in the devfs code which
were added recently.

Approved by: re (kib)
MFC after: 1 week


224728 09-Aug-2011 mav

Do not block zero report ID. It is correct value for devices with single
ID. This fixes USB_SET_IMMED call (synchronous operation) of the uhid(4)
driver on devices with single report ID.

Reviewed by: hselasky
Approved by: re (kib)
MFC after: 1 week


224499 29-Jul-2011 mav

Make ums(4) driver more picky, not attaching to "mouses" with absolute
coordinates, such as digitizers and touch-screens, leaving these devices
to uhid(4) and user-level. Specially patched xf86-input-mouse driver can
handle them, that isn't done and can't be done properly with ums(4)
because of mouse(4) protocol limitations.

Approved by: re (kib)


224239 21-Jul-2011 hselasky

Add new USB ID to u3g driver.

Approved by: re (kib)
Submitted by: Nick Hibma
MFC after: 3 days


224180 18-Jul-2011 hselasky

Only the USB root HUB thread is allowed to attach and detach drivers
to and from USB devices. Remove related DEVMETHOD() lines from USB
drivers.

Reported by: YongHyeon PYUN
MFC after: 3 days


224126 17-Jul-2011 ed

Restore binary compatibility for GIO_KEYMAP and PIO_KEYMAP.

Back in 2009 I changed the ABI of the GIO_KEYMAP and PIO_KEYMAP ioctls
to support wide characters. I created a patch to add ABI compatibility
for the old calls, but I didn't get any feedback to that.

It seems now people are upgrading from 8 to 9 they experience this
issue, so add it anyway.


224095 16-Jul-2011 hselasky

Fix for VirtualBox 4.x and other virtual machines that fail
to generate a port reset change event.

MFC after: 1 weeks


224020 14-Jul-2011 yongari

Add initial support for AX88772B USB Fast Ethernet. AX88772B
supports IPv4/IPv6 checksum offloading and VLAN tag insertion/
stripping as well as WOL. Because uether does not provide a way
to announce driver specific offload capabilities to upper stack,
checksum offloading support needs more work and will be done in
future.
Special thanks to ASIX for donating sample hardware.

H/W donated by: ASIX Electronics
Reviewed by: hselasky


223989 13-Jul-2011 hselasky

Fix for dump after shutdown with USB keyboard plugged in. It appears that the
system timer is stopped during shutdown and that the pause() statement in ukbd
causes infinite hang in this regard. The fix is to use mi_switch() instead of
pause() to do the required task switch to ensure that the required USB processes
get executed.

Reported by: Mike_Karels@mcafee.com
MFC after: 1 week


223896 09-Jul-2011 hselasky

Remove reviewed line from copyright header.

Suggested by: joel @


223864 08-Jul-2011 hselasky

Add new USB 3G driver.

Submitted by: PseudoCylon <moonlightakkiy@yahoo.ca>
MFC after: 14 days


223755 04-Jul-2011 hselasky

Make the USB keyboard driver more HID compliant.
Try to auto-detect keyboards which should use the BOOT protocol.

MFC after: 2 weeks


223741 03-Jul-2011 bz

Tag mbufs of all incoming frames or packets with the interface's FIB
setting (either default or if supported as set by SIOCSIFFIB, e.g.
from ifconfig).

Submitted by: Alexander V. Chernikov (melifaro ipfw.ru)
Reviewed by: julian
MFC after: 2 weeks


223736 03-Jul-2011 hselasky

Introduce a quirk for broken USB MIDI hardware instead of limiting performance
in general.

MFC after: 1 week


223728 02-Jul-2011 hselasky

Fix for "nomatch" event for ums and ukbd drivers when uhid is loaded.

MFC after: 3 days


223624 28-Jun-2011 kevlo

Remove duplicate header includes


223566 26-Jun-2011 gavin

The SMCWUSBG is a zyd(4) device, not an uath(4) device. Remove from the
latter.

It appears that the addition to uath(4) came in through PR kern/135009,
which had tested another device, the SMCWUSBTG2, successfully with uath(4)
and included the SMCWUSBG as it "has the same chipset". I can find no
other evidence that these two do actually share the same chipset. Moreover,
Linux treats the SMCWUSBG as a zyd(4) device also.

This reverts r223537.

Discussed with: hselasky, kevlo
MFC after: 1 week


223538 25-Jun-2011 hselasky

- Export the USB device ID format to userspace tools.

MFC after: 14 days


223537 25-Jun-2011 hselasky

- Remove duplicate USB ID.

MFC after: 3 days


223521 24-Jun-2011 hselasky

- Export more USB device ID's.
- Update bus_auto.conf accordingly.

MFC after: 3 days


223515 24-Jun-2011 hselasky

- Export more USB device ID's.

MFC after: 3 days


223513 24-Jun-2011 hselasky

- Ensure that we get all the required nomatch devd events.

MFC after: 3 days


223512 24-Jun-2011 hselasky

- Move execution of event handlers into the probe and attach function so that
dynamically loaded device drivers get a chance to run their event hooks.

- Decouple the USB suspend and resume lock from witness. It produces some
false warnings due to reusing the lock name among multiple devices.

MFC after: 3 days


223511 24-Jun-2011 hselasky

- Export the URIO USB device ID's.
- Add checks for configuration and interface index.

MFC after: 3 days


223489 24-Jun-2011 hselasky

- Add additional information to the PnP info of USB HUBs children which
is now required by bus_autoconf.
- Allow interface class matching even if device class is vendor specific.
- Update bus_autoconf tool to not generate system and subsystem match lines
for the nomatch event.

PR: misc/157903
MFC after: 14 days


223486 24-Jun-2011 hselasky

- Move all USB device ID arrays into so-called sections,
sorted according to the mode which they support:
host, device or dual mode
- Add generic tool to extract these data:
tools/bus_autoconf

Discussed with: imp
Suggested by: Robert Millan <rmh@debian.org>
PR: misc/157903
MFC after: 14 days


223472 23-Jun-2011 hselasky

- Add some comments about the origin of some USB descriptors.

MFC after: 7 days


223467 23-Jun-2011 hselasky

- Add more USB templates for various USB device classes
- Add basic template support for USB 3.0
- Export definition of template sysctl numbers through usb_ioctl.h

MFC after: 7 days


223446 22-Jun-2011 gavin

Use USB_VENDOR_OVISLINK define rather than the vendor ID.

PR: usb/158142
Submitted by: Robert Millan <rmh debian.org>
MFC after: 1 week


223288 19-Jun-2011 hselasky

Add new USB ID to UDAV driver.

Submitted by: Luiz Gustavo S. Costa <lgcosta@pfsense.org>
MFC after: 7 days


222790 06-Jun-2011 hselasky

Reset clear-stall error counter before setting up the USB control transfers.

MFC after: 14 days


222786 06-Jun-2011 hselasky

Improve enumeration of Low- and Full-speed devices connected through a
High-speed USB HUB by resetting the transaction translator (TT)
before trying re-enumeration. Also when clear-stall fails multiple times
try a re-enumeration.

Suggested by: Trevor Blackwell
MFC after: 14 days


222696 04-Jun-2011 hselasky

Rename recently added USB serial driver.

Suggested by: YongHyeon PYUN
MFC after: 7 days


222581 01-Jun-2011 yongari

Poke correct GPIO pins for newer axe(4) controllers with Marvell
PHY. Newer models seem to use different LED mode that requires
enabling both GPIO1 and GPIO2.

Tested by: marcel


222578 01-Jun-2011 hselasky

Add support for new USB serial driver.

Submitted by: Lev Serebryakov, lev @
MFC after: 14 days


222051 18-May-2011 avg

usb: change to one-pass probing of device drivers

This brings USB bus more in line with how newbus is supposed to be used.
Also, because of the two-pass probing the following message was produced
by devd in default configuration when almost any USB device was
connected:
Unknown USB device: vendor <> product <> bus <>
This should be fixed now.

Note that many USB device drivers pass some information from probe
method to attach method via ivars. For this to continue working we rely
on the fact that the subr_bus code calls probe method of a winning driver
again before calling its attach method in the case where multiple
drivers claim to support a device. This is done because device
description is set in successful probe methods and we want to get a correct
device description from a winning driver. So now this logic is re-used
for setting ivars too.

Reviewed by: hselasky
MFC after: 1 month


222018 17-May-2011 ru

Renamed PCI_INTERFACE_XHCI to PCIP_SERIALBUS_USB_XHCI and moved it
to <dev/pci/pcireg.h>.

Reviewed by: hselasky
MFC after: 3 days


221883 14-May-2011 hselasky

Add new USB ID's.

Submitted by: Jim Bryant
MFC after: 3 days


221720 10-May-2011 bms

Add VID for Simtec Electronics.
Add PID for Simtec Electronics EntropyKey, a hardware random number generator.


221623 08-May-2011 hselasky

Cleanup usb_notify_addq_compat(). It should not
be needed any more.

MFC after: 7 days


221605 07-May-2011 hselasky

Add new USB ID.

Submitted by: Dmitry Luhtionov
MFC after: 7 days


221407 03-May-2011 marius

- Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP
(reporting IFM_LOOP based on BMCR_LOOP is left in place though as
it might provide useful for debugging). For most mii(4) drivers it
was unclear whether the PHYs driven by them actually support
loopback or not. Moreover, typically loopback mode also needs to
be activated on the MAC, which none of the Ethernet drivers using
mii(4) implements. Given that loopback media has no real use (and
obviously hardly had a chance to actually work) besides for driver
development (which just loopback mode should be sufficient for
though, i.e one doesn't necessary need support for loopback media)
support for it is just dropped as both NetBSD and OpenBSD already
did quite some time ago.
- Let mii_phy_add_media() also announce the support of IFM_NONE.
- Restructure the PHY entry points to use a structure of entry points
instead of discrete function pointers, and extend this to include
a "reset" entry point. Make sure any PHY-specific reset routine is
always used, and provide one for lxtphy(4) which disables MII
interrupts (as is done for a few other PHYs we have drivers for).
This includes changing NIC drivers which previously just called the
generic mii_phy_reset() to now actually call the PHY-specific reset
routine, which might be crucial in some cases. While at it, the
redundant checks in these NIC drivers for mii->mii_instance not being
zero before calling the reset routines were removed because as soon
as one PHY driver attaches mii->mii_instance is incremented and we
hardly can end up in their media change callbacks etc if no PHY driver
has attached as mii_attach() would have failed in that case and not
attach a miibus(4) instance.
Consequently, NIC drivers now no longer should call mii_phy_reset()
directly, so it was removed from EXPORT_SYMS.
- Add a mii_phy_dev_attach() as a companion helper to mii_phy_dev_probe().
The purpose of that function is to perform the common steps to attach
a PHY driver instance and to hook it up to the miibus(4) instance and to
optionally also handle the probing, addition and initialization of the
supported media. So all a PHY driver without any special requirements
has to do in its bus attach method is to call mii_phy_dev_attach()
along with PHY-specific MIIF_* flags, a pointer to its PHY functions
and the add_media set to one. All PHY drivers were updated to take
advantage of mii_phy_dev_attach() as appropriate. Along with these
changes the capability mask was added to the mii_softc structure so
PHY drivers taking advantage of mii_phy_dev_attach() but still
handling media on their own do not need to fiddle with the MII attach
arguments anyway.
- Keep track of the PHY offset in the mii_softc structure. This is done
for compatibility with NetBSD/OpenBSD.
- Keep track of the PHY's OUI, model and revision in the mii_softc
structure. Several PHY drivers require this information also after
attaching and previously had to wrap their own softc around mii_softc.
NetBSD/OpenBSD also keep track of the model and revision on their
mii_softc structure. All PHY drivers were updated to take advantage
as appropriate.
- Convert the mebers of the MII data structure to unsigned where
appropriate. This is partly inspired by NetBSD/OpenBSD.
- According to IEEE 802.3-2002 the bits actually have to be reversed
when mapping an OUI to the MII ID registers. All PHY drivers and
miidevs where changed as necessary. Actually this now again allows to
largely share miidevs with NetBSD, which fixed this problem already
9 years ago. Consequently miidevs was synced as far as possible.
- Add MIIF_NOMANPAUSE and mii_phy_flowstatus() calls to drivers that
weren't explicitly converted to support flow control before. It's
unclear whether flow control actually works with these but typically
it should and their net behavior should be more correct with these
changes in place than without if the MAC driver sets MIIF_DOPAUSE.

Obtained from: NetBSD (partially)
Reviewed by: yongari (earlier version), silence on arch@ and net@


221199 29-Apr-2011 kevlo

Guard against default ni_chan

PR: kern/144642
Submitted by: Arthur Hartwig <a_hartwig at fastmaildot fm>


221179 28-Apr-2011 jhb

Trim some additional unnecessary <linker_set.h> includes.

MFC after: 1 week


221077 26-Apr-2011 hselasky

The maximum NCM frame size must be so that it
will generate a short terminated USB transfer if
the maximum NCM frame size is greater than what
the driver can handle.

Reported by: Matthias Benesch
MFC after: 7 days
Approved by: thompsa (mentor)


221073 26-Apr-2011 hselasky

Fix for missing EHCI datatoggle change case.

Reported by: Mike Tancsa
MFC after: 3 days
Approved by: thompsa (mentor)


220558 12-Apr-2011 hselasky

We don't need to call EOWRITE4(sc, EHCI_USBINTR, 0) directly from each EHCI
bus driver at detach, hence ehci_detach() does exactly this since r199718.

Submitted by: Luiz Otavio O Souza
MFC after: 7 days
Approved by: thompsa (mentor)


220535 11-Apr-2011 mav

Rework change made at r203146. Instead of reporting all wire errors as
SCSI status errors to CAM (that was wrong, as it too often turned retriable
wire errors into non-retriable REQUEST SENSE errors), do it only for STALL
errors on control pipe of the CBI devices. STALL on control pipe is just
a one of the ways to report error for CBI devices.

PR: usb/150401, usb/154593.
Reviewed by: hselasky
MFC after: 1 week


220304 03-Apr-2011 hselasky

- Fix for missing event if a libUSB USB transfer is started and
stopped rapidly in succession.

Reported by: J.R. Oldroyd
MFC after: 7 days
Approved by: thompsa (mentor)


220303 03-Apr-2011 hselasky

- Correct EHCI interrupt disabling at detach.

Submitted by: Luiz Otavio O Souza
MFC after: 7 days
Approved by: thompsa (mentor)


220301 03-Apr-2011 hselasky

- Improvements to USB PF solution
- Add more fields for USB device and host mode
- Add more information to USB PF header so that decoding
can easily be done by software analyzer tools like
Wireshark.
- Optimise usbdump to display USB streams in text format
more efficiently.
- Software using USB PF must be recompiled after
this commit, due to structure changes.

MFC after: 7 days
Approved by: thompsa (mentor)


220235 01-Apr-2011 kevlo

- Minor style(9) cleanup
- Make functions static


219983 25-Mar-2011 hselasky

Fix initialisation order with regard to debug prints.

Reported by: Luiz Otavio O Souza
MFC after: 14 days
Approved by: thompsa (mentor)


219982 25-Mar-2011 kevlo

Fix panic while associating access point.
While here, add the SMC SMCWUSB-G


219949 24-Mar-2011 hselasky

Fix typo.

Reported by: Garrett Cooper
MFC after: 14 days
Approved by: thompsa (mentor)


219930 23-Mar-2011 hselasky

Comply with style(9).

Reported by: gavin
MFC after: 14 days
Approved by: thompsa (mentor)


219848 21-Mar-2011 hselasky

- Do not output the trailing newline to the HID
report descriptor information, sysctl utility
will show it for us.
- Modify sysctl node description to make it more
understanable.

Found by: Alexander Best <arundel@freebsd.org>
Submitted by: Eygene Ryabinkin <rea@freebsd.org>
MFC after: 14 days
Approved by: thompsa (mentor)


219845 21-Mar-2011 hselasky

- Bugfix: Fix a EHCI hardware race, where the hardware computed data toggle
value is updated after that we read it in the queue-head. This patch can
fix problems with BULK timeouts. The issue was found on a Nvidia chipset.

MFC after: 14 days
Approved by: thompsa (mentor)


219395 08-Mar-2011 hselasky

- Bugfix: Root HUBs do not support re-enumeration.

MFC after: 14 days
Approved by: thompsa (mentor)


219257 04-Mar-2011 daichi

Add the Buffalo (Melco Inc.) WLI-UC-G301N

PR: usb/155229
Submitted by: Yoshiaki UCHIKAWA
MFC after: 1 week


219221 03-Mar-2011 hselasky

- Remove dependency to ucom from ulpt.

MFC after: 14 days
Approved by: thompsa (mentor)


219100 28-Feb-2011 hselasky

- Add support for software pre-scaling of ISOCHRONOUS transfers.

MFC after: 14 days
Approved by: thompsa (mentor)


219048 26-Feb-2011 hselasky

- Correct USB 3.0 wire-speed to 5.0Gbps

MFC after: 3 days
Approved by: thompsa (mentor)


218988 24-Feb-2011 hselasky

- Add support for some non-standard USB MIDI devices from Roland, by
means of allowing vendor specific interface class for audio and MIDI devices.
- Add new quirks for this. The vendor and product list in OpenBSD's
dev/usb/umidi_quirks.c was used as reference.

MFC after: 14 days
Approved by: thompsa (mentor)


218909 21-Feb-2011 brucec

Fix typos - remove duplicate "the".

PR: bin/154928
Submitted by: Eitan Adler <lists at eitanadler.com>
MFC after: 3 days


218864 19-Feb-2011 hselasky

Add more udav device ID's.

Submitted by: Rick van der Zwet <info@rickvanderzwet.nl>
MFC after: 7 days
Approved by: thompsa (mentor)


218765 17-Feb-2011 hselasky

- Fix build of manual page and inclusion of mos driver into kernel config file.
- Fix style compliancy by wrapping some long lines in if_mos.c

Approved by: thompsa (mentor)


218730 16-Feb-2011 hselasky

Fix build breakage in if_mos.c when USB_DEBUG option is set.

Approved by: thompsa (mentor)


218729 16-Feb-2011 hselasky

Add support for new USB to ethernet controller:
Moschip MCS7730/MCS7830

Submitted by: Rick van der Zwet <info@rickvanderzwet.nl>
Approved by: thompsa (mentor)


218676 14-Feb-2011 hselasky

* Fix page fault caused by referring freed node.

While updating Tx stats, already freed node could be referred and cause
page fault. To avoid such panic, spool Tx stats in driver's softc. Then,
on every ratectl interval, grab node though ieee80211_iterate_nodes() and
update ratectl stats.

* Simplify some code in run_iter_func().

* Fix typo

* Use memset instead of bzero (hselasky @)

PR: kern/153938
Submitted by: PseudoCylon <moonlightakkiy@yahoo.ca>
Approved by: thompsa (mentor)


218492 09-Feb-2011 bschmidt

Rework beacon handling re-enable run_updateslot().

Drivers which rely on net80211 to create the beacon need to call
ieee80211_beacon_update() on iv_update_beacon() calls. This is required
that certain bits, e.g. TIM, get updated. A call to ieee80211_beacon_alloc()
is not enough because it does not care about flags which can only change
during runtime. By design a beacon is supposed to be allocated only once
while moving into RUN state.

To handle all possible calls to iv_update_beacon() the run_updateslot()
function has been revived and run_updateprot() has been added.
run_updateslot() handles slot time changes and run_updateprot() changes
to protection, both can change while nodes associate/leave.

Submitted by: Alexander Zagrebin <alex at zagrebin.ru>,
PseudoCylon <moonlightakkiy atyahoo.ca>
MFC after: 3 weeks


218475 09-Feb-2011 hselasky

Minor cleanup:
- use device_printf() instead of printf() to give more accurate warnings.
- use memcpy() instead of bcopy().
- add missing #if's for non-FreeBSD compilation.

Approved by: thompsa (mentor)


218461 08-Feb-2011 marcel

Improve the error interrupt handler. In particular, read the
error address on a decoding error to unlatch it and to allow
us to print a better diagnostics message. This also has the
side effect of clearing the condition, which prevents an
interrupt storm.


218422 07-Feb-2011 n_hibma

Curitel UM150 needs a quirk to stop it from detaching straight after
attach (resetting actually).

Submitted by: Oleg Nauman
MFC after: 1 week


218229 03-Feb-2011 hselasky

Fix for detection of MTK 3329 GPS USB devices.

Submitted by: Mykhaylo Yehorov
PR: usb/153929
Approved by: thompsa (mentor)


218178 01-Feb-2011 n_hibma

New ID for the Novatel MC547

PR: 154127
Submitted by: Mike Tancsa
MFC after: 1 day


218165 01-Feb-2011 hselasky

Use correct kernel types for all fields in USB PF code and headers.

Approved by: thompsa (mentor)


217793 24-Jan-2011 hselasky

Add more sanity checks for USB_HOST_ALIGN input values. Re-factor existing
checks for readability.

Approved by: thompsa (mentor)


217718 22-Jan-2011 hselasky

Allow USB_HOST_ALIGN to be configured at compile time. This patch is
necessary for MIPS based RouterStation Pro board and maybe other MIPS
based boards as well.

Submitted by: Milan Obuch
Approved by: thompsa (mentor)


217637 20-Jan-2011 n_hibma

Add another ID for the ZTE MF190 Surf Stick

Submitted by: nagilum
MFC after: 1 day


217558 18-Jan-2011 hselasky

Make USB packet filtering code optional.

Approved by: thompsa (mentor)


217556 18-Jan-2011 mdf

Specify a CTLTYPE_FOO so that a future sysctl(8) change does not need
to rely on the format string.


217511 17-Jan-2011 bschmidt

Pull ieee80211_ratectl_node_init() calls from drivers into net80211.
This fixes hostap mode for at least ral(4) and run(4), because there is
no sufficient call into drivers which could be used initialize the node
related ratectl variables.

MFC after: 3 days


217374 13-Jan-2011 hselasky

- Add support for 64-byte contexts to XHCI driver.
- Remove some dead code.
- Fixed one instance of missing endian conversion.

Approved by: thompsa (mentor)


217350 13-Jan-2011 jhb

Use software interrupt priorities for USB kthreads instead of hardware
interrupt priorities.

Reviewed by: hps
MFC after: 2 weeks


217323 12-Jan-2011 mdf

sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly.

Commit the rest of the devices.


217274 11-Jan-2011 gavin

Improve or fix some comments. No functional change.

MFC after: 1 week


217265 11-Jan-2011 jhb

Remove unneeded includes of <sys/linker_set.h>. Other headers that use
it internally contain nested includes.

Reviewed by: bde


217202 09-Jan-2011 gavin

Add support for the Zeagle N2iTion3 Dive Computer to uplcom(4). This brings
the list of supported devices in sync with kernel.org git revision
f36ecd5de93e4c85a9e3d25100c6e233155b12e5, and OpenBSD uplcom.c r1.54


217200 09-Jan-2011 gavin

Sync the list of devices supported by uslcom(4) with Linux, bringing in
all new devices added between our r211022 and their git revision
93ad03d60b5b18897030038234aa2ebae8234748

Also correct a Foxconn entry.

MFC after: 1 week


217072 06-Jan-2011 jhb

Remove bogus usage of INTR_FAST. "Fast" interrupts are now indicated by
registering a filter handler rather than a threaded handler. Also remove
a bogus use of INTR_MPSAFE for a filter.


217061 06-Jan-2011 gavin

Support the Uniform Industrial Corp (UIC) MSR206 Magnetic Card Reader.

MFC after: 1 week


216284 08-Dec-2010 yongari

r184610 changed the way how TX frames are handled on AX88178 and
AX88772 controllers. ASIX added a new feature for AX88178/AX88772
controllers which allows combining multiple TX frames into a single
big frame. This was to overcome one of USB limitation where it
can't generate more than 8k interrupts/sec which in turn means USB
ethernet controllers can not send more than 8k packets per second.
Using ASIX's feature greatly enhanced TX performance(more than 3~4
times) compared to 7.x driver. However it seems r184610 removed
boundary checking for buffered frames which in turn caused
instability issues under certain conditions. In addition, using
ASIX's feature triggered another issue which made USB controller
hang under certain conditions. Restarting ethernet controller
didn't help under this hang condition and unplugging and replugging
the controller was the only solution. I believe there is a silicon
bug in TX frame combining feature on AX88178/AX88772 controllers.

To address these issues, reintroduce the boundary checking for both
AX88178 and AX88772 after copying a frame to USB buffer and do not
use ASIX's multiple frame combining feature. Instead, use USB
controller's multi-frame transmit capability to enhance TX
performance as suggested by Hans[1].
This should fix a long standing axe(4) instability issues reported
on AX88772 and AX88178 controllers. While I'm here remove
unnecessary TX frame length check since upper stack always
guarantee the size of a frame to be less than MCLBYTES.

Special thanks to Derrick Brashear who tried numerous patches
during last 4 months and waited real fix with patience. Without
this enthusiastic support, patience and H/W donation I couldn't fix
it since I was not able to trigger the issue on my box.

Suggested by: hselasky [1]
Tested by: Derrick Brashear (shadow <> gmail dot com>
H/W donated by: Derrick Brashear (shadow <> gmail dot com>
PR: usb/140883


216267 07-Dec-2010 weongyo

Introduces IFF_CANTCONFIG interface flag to point that the interface
isn't configurable in a meaningful way. This is for ifconfig(8) or
other tools not to change code whenever IFT_USB-like interfaces are
registered at the interface list.

Reviewed by: brooks
No objections: gavin, jkim


216249 07-Dec-2010 hselasky

Re-add a status check which sneaked out during r214804.
This change can fix some USB error messages showing up
during bootup.

MFC after: 3 days
Approved by: thompsa (mentor)


216091 01-Dec-2010 weongyo

Explicitly UP and DOWN the usbus interfaces (IFT_USB) when it's attached
or detached. Normally it should be changed through user land ioctl(2)
system calls but it looks there's no apps for USB and no need.

With this patch, libpcap would detect the usbus interfaces correctly and
tcpdump(1) could dump the USB packets into PCAP format with -w option.
However it couldn't print the output to console because there's no
printer-routine at tcpdump(1).


216072 30-Nov-2010 hselasky

We need to define a cdev variable associated with each USB device,
hence existing applications like webcamd are expecting that.
This problem was introduced by SVN change 214221 where cdev=
was replaced by ugen= by accident. Solve this problem by
redefining cdev= in devd notifications.

MFC after 3 days.

Approved by: thompsa (mentor)


216057 29-Nov-2010 sanpei

Add new device ids.
Buffalo (Melco Inc.) WLI-UC-G

PR: 141777


216045 29-Nov-2010 gavin

Support the Falcom Twist USB GSM/GPRS modem in uftdi(4)

PR: usb/151862
Submitted by: Alessandro de Manzano <demanzano dqmicro.it>
MFC after: 1 week


215969 28-Nov-2010 yongari

Add initial AX88772A support.

H/W donated by: Derrick Brashear (shadow <> gmail dot com)


215968 28-Nov-2010 yongari

Introduce new macro AXE_IS_178_FAMILY and AXE_IS_772. Include
AX88772A and AX88772B for future extension. While here add TX
buffer size for 178 family controllers.


215966 28-Nov-2010 yongari

Do full controller initialization in axe_reset() for controllers
that require special configuration from EEPROM. This will put
controllers into known sane state.


215964 28-Nov-2010 yongari

Make sure to change to currently selected media.


215963 28-Nov-2010 yongari

Do not reinitialize controller if it's already running.


215962 28-Nov-2010 yongari

Move axe_reset() to axe_init().


215960 28-Nov-2010 yongari

Apply GPIO configuration for all CICADA PHYs.
While I'm here show selected phymode to ease of debugging.


215846 25-Nov-2010 weongyo

Removes a unused function `usb_bus_find'.


215812 25-Nov-2010 weongyo

Handles the unit number correctly that the previous commit had a problem
(wrong unit number for a host controller) when the module is load /
unloaded repeatly. Attaching the USB pf is moved to usbus device's
attach.

Pointed by: yongari


215810 25-Nov-2010 weongyo

Assigning the unit number for each interfaces could not use ubus->parent
because it could differ depending on the host controller type. It could
lead the duplicate unit number assignment.


215804 24-Nov-2010 weongyo

Fixes a compiler warning when it's compiled with INVARIANTS.

Pointy hat to: me


215802 24-Nov-2010 weongyo

Removes all duplicated code with BPF that it's greatly simplified and
take all benefits whenever BPF code is improved.

Pointed by: jkim
Reviewed by: thompsa


215764 23-Nov-2010 weongyo

Fixes a kernel crash when usb module is reloaded after unload that it
didn't destroy the cdev properly.

Pointy hat to: me
Reported by: Brandon Gooch <jamesbrandongooch at gmail dot com>, jkim


215734 23-Nov-2010 n_hibma

Make the Huawei E1820 work (Emile Coetzee).
Shorten the descriptive strings for Huawei devices. The vendor or
operator name should not be included in the device name.

Submitted by: Emile Coetzee
MFC after: 3 days


215649 22-Nov-2010 weongyo

Adds a USB packet filter feature to the stack that it could capture
packets which go through each USB host controllers. Its implementations
are almost based on BPF code and very similar with it except it's
little bit customized for USB packet only. The userland program
usbdump(8) would be committed soon.

Discussed with: hps, thompsa, yongari


215335 15-Nov-2010 kevlo

Remove unused struct rue_type


215330 15-Nov-2010 thompsa

Add the Sierra MC8700.


215326 14-Nov-2010 dd

Add a special INIT product ID used by some models of the HUAWEI
K3765 datacard. After ejecting this device, it reappears using
the normal K3765 ID. It does not switch automatically

Reviewed by: n_hibma
Obtained from: OpenBSD
MFC after: 2 weeks


215258 13-Nov-2010 n_hibma

Add the switch config for the XS Stick.

It speaks AT commands on 2 out of 3 serial ports, but it has not been
verified to work at all speaking PPP yet.


215254 13-Nov-2010 hselasky

Fix compiler warnings.

Submitted by: Alexander Best (arundel)
Approved by: thompsa (mentor)


215104 10-Nov-2010 n_hibma

Add a man page for usb_quirk module, plus references in other man pages,
and updated comments in the usb_quirk.h header file.

The main purpose of this is to expose the quirks for ejecting 3G
modules. usb_modeswitch in Linux does a great job of collecting
information on these, and with the quirks module people can try out the
modeswitch config file entries on FreeBSD, hence the SCSI strings in the
man page.

MFC after: 2 weeks


215095 10-Nov-2010 n_hibma

Allow specification of eject method through quirks, so people can test
drive eject methods before supplying patches.


214919 07-Nov-2010 n_hibma

Bugfix: Set the bit that marks a device number in use.
This would cause a panic when disconnecting the second serial device.

Submitted by: Lucius Windschuh


214894 06-Nov-2010 bschmidt

Instead of using the AMRR ratectl algo as default for drivers which have
the IEEE80211_C_RATECTL flag set, default to NONE for all drivers. Only if
a driver calls ieee80211_ratectl_init() check if the NONE algo is still
selected and try to use AMRR in that case. Drivers are still free to use
any other algo by calling ieee80211_ratectl_set() prior to the
ieee80211_ratectl_init() call.

After this change it is now safe to assume that a ratectl algo is always
available and selected, which renders the IEEE80211_C_RATECTL flag pretty
much useless. Therefore revert r211314 and 211546.

Reviewed by: rpaulo
MFC after: 2 weeks


214852 05-Nov-2010 n_hibma

Bugfix: In rev 213509 Alexander committed a duplicate ID for ZTE STOR
based devices (QUALCOMMINC 0x2000). He made it use SCSI eject instead of
ZTE STOR eject. This prevented my ZTE MF626 dongle from switching.

- Apply both eject methods for ZTE STOR based devices. Works on my as
well as mav's device.
- Remove the duplicate.
- Sort the usbdevs entries for Qualcomm so this won't happen again.
- Add bootverbose message displaying the fact that we are ejecting (and
how).

Reviewed by: mav
MFC after: 2 weeks


214843 05-Nov-2010 n_hibma

Implement ucom_set_pnpinfo_usb() providing ttyname and port number
information through devd. My E220 now produces the notification (1 line):

+u3g0 at bus=1 hubaddr=1 port=0 devaddr=2 interface=0 \
vendor=0x12d1 product=0x1003 devclass=0x00 devsubclass=0x00 \
sernum="" release=0x0000 intclass=0xff intsubclass=0xff \
ttyname=U0 ttyports=2 on uhub0

Note: serial/ufoma and net/uhso still provide port number and tty name
(uhso only) information through sysctls, which should now be removed.

Reviewed by: hpselasky


214831 05-Nov-2010 n_hibma

- Remove an unused entry from the softc (only used in a debugging printf).
- Fix the loop count on detach (causing a panic on detaching a serial
dongle).
- Increase a buffer in case some driver want extra long tty device names
(postfixing the purpose of the tty for example, e.g. u3g.ppp).


214830 05-Nov-2010 n_hibma

Bugfix: Move the 'at <location string' to the beginning of the attach
notification. devd would stop evaluating at 'at' (not '<k>=<v>') and
hence prevent 'port=X' (and 'bus=<"on" string>) from making it into the
environment for the devd action.

Reviewed by: hselasky
MFC after: 2 weeks


214809 04-Nov-2010 n_hibma

Don't terminate the notification with \n. This is done in
usb_device.c:devctl_notify_f().


214804 04-Nov-2010 hselasky

Add code to warm reset a USB 3.0 port.

Approved by: thompsa (mentor)


214800 04-Nov-2010 hselasky

Add new USB quirk.

Submitted by: Dmitry Luhtionov
Approved by: thompsa (mentor)


214761 03-Nov-2010 n_hibma

- Simplify the way unit/subunit allocation is done in ucom.
- hw.usb.ucom.cons_unit is now split into
hw.usb.ucom.cons_unit/...cons_subunit.

Note: The tunable/sysctl hw.usb.ucom.cons_unit needs to be reviewed if

a) a console was defined a USB serial devices, and a USB device with
more than 1 subunit is present, and this device is attached before the
device functioning as a console

or

b) a console was defined on a USB device with more than 1 subunit

Reviewed by: hps
MFC after: 2 weeks


214726 03-Nov-2010 hselasky

Clean up leftover USB device ID after r213856. This fixes:
options USB_VERBOSE

Submitted by: Lucius Windschuh
Approved by: thompsa (mentor)


214429 27-Oct-2010 hselasky

Add support for setting per-interface PnP information.

Submitted by: Nick Hibma
Approved by: thompsa (mentor)


214349 25-Oct-2010 nwhitehorn

The EHCI_CAPLENGTH and EHCI_HCIVERSION registers are actually sub-registers
within the first 4 bytes of the EHCI memory space. For controllers that
use big-endian MMIO, reading them with 1- and 2-byte reads would then
return the wrong values. Instead, read the combined register with a 4-byte
read and mask out the interesting quantities.


214221 22-Oct-2010 hselasky

Add possibility to generate devctl notifications regardless of UGEN presence.

Submitted by: Nick Hibma
Approved by: thompsa (mentor)


213931 16-Oct-2010 mav

Allow umass to use bigger transactions for USB 3.0 devices. It is less
important for USB 2.0 devices and some of them reported to have problems
with large transactions. But USB 3.0 benchmarks show that limited number
of transactions per second on USB makes impossible to reach high transfer
speeds without using bigger transactions.

On my tests this change allows to read up to 220MB/s from USB-attached SSD
(at block size of 256-512KB), comparing to only 113MB/s without it.

Reviewed by: hselasky


213894 15-Oct-2010 marius

Converted the remainder of the NIC drivers to use the mii_attach()
introduced in r213878 instead of mii_phy_probe(). Unlike r213893 these
are only straight forward conversions though.

Reviewed by: yongari


213880 14-Oct-2010 hselasky

Add new USB device IDs to the list of supported devices.

PR: usb/151043
Approved by: thompsa (mentor)


213879 14-Oct-2010 hselasky

- Add more USB devices to usbdevs and rename some previously unknown ones.
- Add more USB mass storage quirks.

Submitted by: Dmitry Luhtionov
PR: usb/149934, usb/143045
Approved by: thompsa (mentor)


213876 14-Oct-2010 hselasky

Add more USB device IDs to supported list of devices.

Submitted by: Nick Hibma
PR: usb/149900
Approved by: thompsa (mentor)


213872 14-Oct-2010 hselasky

Fix forwarding of Line Register Status changes to TTY layer.

PR: usb/149675
Approved by: thompsa (mentor)


213871 14-Oct-2010 hselasky

Remove unused EHCI register definition.
Define reserved EHCI register.

Approved by: thompsa (mentor)


213869 14-Oct-2010 hselasky

Revert most of r197682 (EHCI Hardware BUG workaround). Implement
proper solution which is to not use the TERMINATE pointer, but rather
link to a halted TD. The initial fix was due to a misunderstanding
about how the EHCI hardware works. Thanks to Alan Stern for clearing
this up. This patch can increase mass storage read performance
significantly when the IRQ rate is less than 8000 IRQ/s.

Approved by: thompsa (mentor)


213864 14-Oct-2010 hselasky

Avoid using endless retransmission at EHCI hardware level, hence this hide
errors from the applications. Only use endless retransmission while in the
non-addressed state on a High-Speed device.

Approved by: thompsa (mentor)


213861 14-Oct-2010 hselasky

Correct EHCI root HUB interface descriptor.

Approved by: thompsa (mentor)


213857 14-Oct-2010 hselasky

Correct EHCI port register read.

Approved by: thompsa (mentor)


213856 14-Oct-2010 hselasky

- Add more USB devices to usbdevs and rename some previously unknown ones.
- Add more USB mass storage quirks.

Submitted by: Dmitry Luhtionov
PR: usb/149934, usb/143045
Approved by: thompsa (mentor)


213852 14-Oct-2010 hselasky

- Add support for LibUSB in 32-bit compatibility mode.

Approved by: thompsa (mentor)


213809 13-Oct-2010 hselasky

USB network (NCM driver):
- correct the ethernet payload remainder which
must be post-offseted by -14 bytes instead of
0 bytes. This is not very clearly defined in the
NCM specification.
- add development feature about limiting the
maximum datagram count in each NCM payload.
- zero-pad alignment data
- add TX-interval tuning sysctl

Approved by: thompsa (mentor)


213805 13-Oct-2010 hselasky

USB Network:
- Add new driver for iPhone tethering
- Supports the iPhone 3G/3GS/4G ethernet protocol

Approved by: thompsa (mentor)


213804 13-Oct-2010 hselasky

USB WLAN:
- Add new device ID

PR: usb/150989
Approved by: thompsa (mentor)


213803 13-Oct-2010 hselasky

USB network (UHSO):
- Correct network interface flags.

PR: usb/149039
Submitted by: Fredrik Lindberg
Approved by: thompsa (mentor)


213802 13-Oct-2010 hselasky

Correct some root HUB descriptor fields in multiple controller drivers.
Remove an unused structure.

Approved by: thompsa (mentor)


213717 12-Oct-2010 glebius

We already have dummy receive buffer in sc->buffer.

Suggested by: hselasky


213696 11-Oct-2010 yongari

Do not setup interrupt endpoint for axe(4).
It seems axe(4) controllers support interrupt endpoint such that
enabling interrupt endpoint generates about 1000 interrupts/sec.
Controllers transfer 8 bytes data through interrupt endpoint and
the data include link UP/DOWN state as well as some PHY related
information. Previously axe(4) didn't use the transferred data and
didn't even try to read the data. Because axe(4) counts on mii(4)
to detect link state changes there is no need to use interrupt
endpoint here.

This change fixes generation of unnecessary interrupts which was
seen when interface is brought to UP.

No objections from: hselasky


213537 08-Oct-2010 emaste

In r207768 I silenced a console warning from rum(4). There was legitimate
opposition to the change, since really we need to implement missing
functionality in drivers or the 802.3 layer.

For now, restore a reminder message for a missing rum_update_mcast, but
print it only once.


213509 07-Oct-2010 mav

Add ID for Vodafone (ZTE) Mobile Broadband K3565-Z modem.

Reviewed by: hselasky


213481 06-Oct-2010 glebius

Remove extra assignment.


213480 06-Oct-2010 glebius

Add support to Alcatel/TCTMobile X080S USB 3G modem. The device needs
special eject command to reappear as modem. It also requires DIR_IN flag
in the command message, so we supply some dummy data along with the command.

Feedback from X080S owners appreciated. I have not a pure Alcatel/TCTMobile
device, but another one under "Svyaznoy" (Связной) brand, and I didn't yet
managed to get it working. It is successfully recognized, it responds to
AT commands, but it shuts up right after successfull CONNECT response.

Reviewed by: hps


213439 04-Oct-2010 hselasky

Print out correct USB connection speed for USB 3.0 mass storage devices.

Approved by: thompsa (mentor)


213438 04-Oct-2010 yongari

RX buffer allocation failure is not an input error. Controller
successfully received a frame but we failed to pass it to upper
stack due to lack of resources. So update if_iqdrops counter
instead of updating if_ierrors counter.


213436 04-Oct-2010 yongari

Don't count input error twice. uether_rxbuf() already updated that
counter.


213435 04-Oct-2010 hselasky

This commit adds full support for USB 3.0 devices in host and device
mode in the USB core. The patch mostly consists of updating the USB
HUB code to support USB 3.0 HUBs. This patch also add some more USB
controller methods to support more active-alike USB controllers like
the XHCI which needs to be informed about various device state events.

USB 3.0 HUBs are not tested yet, due to lack of hardware, but are
believed to work.

After this update the initial device descriptor is only read twice
when we know that the bMaxPacketSize is too small for a single packet
transfer of this descriptor.

Approved by: thompsa (mentor)


213434 04-Oct-2010 hselasky

Add missing #if's

Approved by: thompsa (mentor)


213433 04-Oct-2010 hselasky

Add more strict USB string filtering.

Approved by: thompsa (mentor)


213432 04-Oct-2010 hselasky

Serialise USB re-enumeration with the USB explore thread.
This patch can solve problems when multiple USB devices are
re-enumerated at the same time on the same bus.

Approved by: thompsa (mentor)


213431 04-Oct-2010 hselasky

Correct IOCTL return code.

Approved by: thompsa (mentor)


213427 04-Oct-2010 hselasky

Add missing USB 3.0 definitions. Correct some wrong ones.

Approved by: thompsa (mentor)


213426 04-Oct-2010 hselasky

Add missing DRIVER_MODULE() entry for the musbotg driver.
Add some more comments.

Approved by: thompsa (mentor)


213425 04-Oct-2010 hselasky

The root mount hold reference was not released on USB controller
attach failures during boot. Fix this.

Approved by: thompsa (mentor)


213424 04-Oct-2010 yongari

Make upper stack know driver's output status. This change increased
TX performance from 221kpps to 231kpps.


213423 04-Oct-2010 yongari

Move updating TX packet counter to the inside of send loop. axe(4)
controllers combine multiple TX requests into single one if there
is room in TX buffer of controller. Updating TX packet counter at
the end of TX completion resulted in incorrect TX packet counter as
axe(4) thought it sent 1 packet. There is no easy way to know how
many combined TX were completed in the callback.
Because this change updates TX packet counter before actual
transmission, it may not be ideal one. But I believe it's better
than showing fake 8kpps under high TX load. With this change, TX
shows 221kpps on Linksus USB200M.


213379 03-Oct-2010 hselasky

Commit initial version of new XHCI driver which was written from
scratch. This driver adds support for USB3.0 devices. The XHCI
interface is also backwards compatible to USB2.0 and USB1.0 and will
evntually replace the OHCI/UHCI and EHCI drivers.

There will be follow-up commits during the coming week to link the
driver into the default kernel build and add missing USB3.0
functionality in the USB core. Currently only the driver files are
committed.

Approved by: thompsa (mentor)


212980 21-Sep-2010 sanpei

Add new device ids.
Buffalo (Melco Inc.) LUA3-U2-AGT
Logitec LAN-GTJ/U2A(usb/119981)

PR: usb/119981 and me
Submitted by: "Y.Okabe" <be_works_us at yahoo.com>, hiroo at oikumene.gcd.org
Reviewed by: thompsa
MFC after: 3 days


212830 18-Sep-2010 n_hibma

Cleanup white space and typos.


212621 14-Sep-2010 marius

Use saner nsegments and maxsegsz parameters when creating certain DMA tags;
tags for 1-byte allocations cannot possibly be split across 2 segments and
maxsegsz must not exceed maxsize.


212136 02-Sep-2010 thompsa

Reduce the need to accesss struct usb_device by providing functions to access
the product, manufacturer and serial strings.

Submitted by: Hans Petter Selasky


212135 02-Sep-2010 thompsa

Add support for power mode filtering as some USB hardware does not support
power saving.

Submitted by: Hans Petter Selasky


212134 02-Sep-2010 thompsa

Change argument for usbd_get_dma_delay() from USB bus to USB device, some
embedded hardware needs to know exactly which device is in question before it
exactly can decide the required delay.

Submitted by: Hans Petter Selasky


212133 02-Sep-2010 thompsa

Fix setting of the rx_max and tx_max variables. If the expected buffer size is
greater than 65535 bytes then the CDC driver might not work as expected, which
is not likely with the existing USB speeds.

Submitted by: Hans Petter Selasky


212132 02-Sep-2010 thompsa

Fix UMS_BUTTON_MAX define name


212131 02-Sep-2010 thompsa

Fix build breakage from r212127


212130 02-Sep-2010 thompsa

Add GPIO programming for more PHY hardware.

Submitted by: yongari


212129 02-Sep-2010 thompsa

Add support for extra buttons on the Kensington Slimblade Trackball.

Submitted by: Lee, Chung-Yeol


212128 02-Sep-2010 thompsa

Silence debug error by default.

PR: usb/141212
Submitted by: Hans Petter Selasky


212127 02-Sep-2010 thompsa

We need to grab a node reference count to vap->iv_bss before using it as it is
possible for the node to be replaced and freed at any time by
ieee80211_sta_join1().


212122 01-Sep-2010 thompsa

Add missing MODULE_VERSION() definitions, this resolves problems around
duplicate module loads.

PR: usb/125736
Submitted by: danger, mm
Reviewed by: hselasky


211314 14-Aug-2010 bschmidt

Introduce IEEE80211_C_RATECTL, drivers which use the ratectl framework
should set this capability.

MFC after: 2 weeks


211153 10-Aug-2010 gavin

Now that the uplcom(4) driver can autodetect the chipset type, sync the
list of devices supported by uplcom(4) with the following sources:

NetBSD src/sys/dev/usb/uplcom.c 1.70
OpenBSD src/sys/dev/usb/uplcom.c 1.52
Linux drivers/usb/serial/pl2303.h from kernel 2.6.35
BeOS usb_serial/driver.c 1.32

Give several devices better descriptions, and rename
PROLIFIC2 -> NETINDEX while here to match everybody else.

MFC after: 6 weeks (after r211111)


211111 09-Aug-2010 gavin

Attempt to autodetect the cype of chipset, rather than storing this
within the device table. This code uses the same algorithm as used in the
Linux, NetBSD and DragonflyBSD driver.

While investigating this, it became apparent that the Linux driver always
initialises the device, and not just in the PL2303HX case. Change
uplcom(4) to do the same.

This change allows us to synchronize our device ID list with Linux and
NetBSD, without requiring knowledge of the chipset in use.

Reviewed by: hselasky
MFC after: 6 weeks


211104 09-Aug-2010 gavin

Add entries for some devices I have locally.


211083 08-Aug-2010 gavin

The PL2302X can support any baud rate <= 6Mbps, allow any rate to be set.

PR: usb/128324
Submitted by: Mike Durian <durian shadetreesoftware.com> (original patch)
MFC after: 2 weeks


211022 07-Aug-2010 gavin

Sync the list of devices supported by uslcom(4) with NetBSD, Linux, OpenBSD
and BeOS. The devices supported by uslcom(4) are now in sync with:

NetBSD src/sys/dev/usb/uslsa.c 1.11
OpenBSD src/sys/dev/usb/uslcom.c 1.20
Linux source/drivers/usb/serial/cp210x.c from kernel 2.6.35
BeOS usb_serial/driver.c 1.32

Two vendor/product IDs from Linux have not been added to uslcom(4):
SILABS SAEL - This device has special code in u3g to support it
SILABS GSM2228 - I suspect this should also be covered by u3g(4).

MFC after: 1 week


211021 07-Aug-2010 gavin

Sort this file a little better: the vendors are supposed to be sorted by
vendor ID in the vendor section, and by symbolic name in the product
section. Products are sorted by product ID. While here, get rid of a
duplicate Microsoft Mouse entry, revealed by sorting.

MFC after: 1 week


210931 06-Aug-2010 kib

Disable sync cache for the Transcend Jetflash V90. It is more specific
quirk over the general one for transcend sticks.

Submitted by: Mykola Dzham <i levsha me>
MFC after: 1 week


210576 28-Jul-2010 tijl

Add quirk for Apacer HT202 USB 2.0 Flash Drive.

PR: usb/107243
Approved by: kib (mentor)
MFC after: 1 week


210575 28-Jul-2010 gavin

Provide descriptions for three vendors and four devices in usbdevs. Use
the official vendor listed for 0x076b, rather than Omnikey, as in the PR.

PR: usb/123351
Submitted by: Marcin Cieslak <saper SYSTEM.PL>
MFC after: 1 week


210571 28-Jul-2010 gavin

Add support for the Corega CG-USBRS232R to uplcom(4)

PR: usb/129173
Submitted by: SHIMAOKA Shunsuke <shimaoka.shunsuke gmail.com>
MFC after: 1 week


210556 28-Jul-2010 gavin

Support the Pyramid KBS USB LCD under uftdi(4)

PR: usb/129758
Submitted by: joao lima <jlima visionware.pt>
MFC after: 1 week


210553 27-Jul-2010 thompsa

Fix the entry for the Option ICON452 where an underscore was used instead of
whitespace.

Submitted by: Lucius Windschuh


210543 27-Jul-2010 gavin

Prevent uhid(4) from attaching to the Liebert PowerSure Personal XT UPS.

PR: usb/129251
Submitted by: Andrew D Wiles <adw+gnats avatastic.co.uk>
MFC after: 1 week


210534 27-Jul-2010 gavin

Add support for the Longcheer WM66 USB HSDPA Modem to u3g(4)

This patch is different to that provided in the PR, due to the changes in
this driver since 7.x.

PR: usb/129945
Submitted by: Antonio Hilario <avahilario gmail.com>
MFC after: 1 week


210524 27-Jul-2010 gavin

- Support two devices made by West Mountain Radio in uslcom(4) [1]

- Bring in several other devices from OpenBSD while here. Use the
official manufacturer name over the OpenBSD name in the case of
GEMALTO. Reorder list slightly to aid future syncing.

- Remove duplicate SILABS CP2102 define from usbdevs

PR: usb/131912 [1]
Submitted by: Jack Twilley <mathuin gmail.com> [1]
MFC after: 1 week


210516 26-Jul-2010 gavin

Prevent uhid(4) from attaching to the Gembird Silver Shield remote power
plug. Note that the Vendor ID 0x04b4 is officially assigned to Cypress,
so use that instead of adding a second vendor with an identical ID, in the
same way other similar cases are treated in usb/usbdevs.

PR: usb/132785
Submitted by: Dirk-Willem van Gulik <dirkx webweaving.org>
MFC after: 1 week


210515 26-Jul-2010 gavin

Prevent ukbd(4) and uhid(4) from attaching when a WiSPY DBx Spectrum
Analyzer is attached.

PR: usb/134631
Submitted by: Jesse Kempf <jkempf davisvision.com>
MFC after: 1 week


210469 25-Jul-2010 gavin

Give a name to the HTC Wizard Smartphone

PR: usb/135575
Submitted by: lioux


210275 20-Jul-2010 thompsa

- Support for Globetrotter iCON 452.
- Fixed the interface probe routine to only attach to USB interfaces the driver
actually supports. This allows other drivers to attach to things like
MicroSD slots etc.
- Fixed network interface enumeration to be globally sequential instead of
relying on the USB interface numbers. This make sure the first network
interface always is at uhso0 and the second at usho1 and so on.
- Added a radio kill switch; exposed through sysctl.
- Updated the manual page to be verbose about the number of serial ports and
include iCON 452 in the set of tested hardware.

Submitted by: Fredrik Lindberg


210018 13-Jul-2010 remko

Add a 4 and 7 port USB hub from NEC.

PR: 148189
MFC after: 1 week


209968 13-Jul-2010 takawata

Fix comment.

Pointed out by: hrs


209967 13-Jul-2010 takawata

One more Prolific serial device ID.

Submitted by: Kouichi Hirabayashi on FreeBSD-users-jp
MFC after: 1 week.


209918 11-Jul-2010 thompsa

Use more compact deviceid table.

Submitted by: Akinori Furukoshi


209917 11-Jul-2010 thompsa

Update for style(9).

Submitted by: Akinori Furukoshi (author)


209447 22-Jun-2010 thompsa

Add new device id.

PR: usb/147190


209445 22-Jun-2010 thompsa

Add a mass storage quirk.

PR: usb/147196


209444 22-Jun-2010 thompsa

Add new device id.

PR: usb/146907


209443 22-Jun-2010 thompsa

Add support for LOW speed BULK transfers. This mode is not recommended by the
USB 2.0 standard, though some USB devices use it anyway.

Submitted by: Hans Petter Selasky


209189 14-Jun-2010 jkim

Fix typos that broke duration calculations on protection frames. A similar
fix was done for ral(4) long ago and it must be copy-and-paste bugs.

Found by: clang


209144 14-Jun-2010 thompsa

- Because hostapd calls iv_key_set() before if_init(), make sure key_set
callback function will be executed, and that the key won't be deleted during
the init process.
- txmic and rxmic are written into the chip the same place regardless of
opmode.
- Make the hardware generate 802.11 sequence numbers.

Submitted by: Akinori Furukoshi
Obtained from: git://gitorious.org/run/run.git


209131 13-Jun-2010 raj

Convert Marvell ARM platforms to FDT convention.

The following systems are involved:

- DB-88F5182
- DB-88F5281
- DB-88F6281
- DB-78100
- SheevaPlug

This overhaul covers the following major changes:

- All integrated peripherals drivers for Marvell ARM SoC, which are
currently in the FreeBSD source tree are reworked and adjusted so they
derive config data out of the device tree blob (instead of hard coded /
tabelarized values).

- Since the common FDT infrastrucutre (fdtbus, simplebus) is used we say
good by to obio / mbus drivers and numerous hard-coded config data.

Note that world needs to be built WITH_FDT for the affected platforms.

Reviewed by: imp
Sponsored by: The FreeBSD Foundation.


209062 11-Jun-2010 avg

fix a few cases where a string is passed via format argument instead of
via %s

Most of the cases looked harmless, but this is done for the sake of
correctness. In one case it even allowed to drop an intermediate buffer.

Found by: clang
MFC after: 2 week


208554 25-May-2010 glebius

Add uep(4), driver for USB onscreen touch panel from eGalax.

The driver is stub. It just creates device entry and feeds
reassembled packets from hardware into it.

If in future we would port wsmouse(4) from NetBSD, or make
sysmouse(4) to support absolute motion events, then the driver
can be extended to act as system mouse. Meanwhile, it just
presents a /dev/uep0, that can be utilized by X driver, that
I am going to commit to ports tree soon.

The name for the driver is chosen to be the same as in NetBSD,
however, due to different USB stacks this driver isn't a port.


208019 13-May-2010 thompsa

Sync run(4) driver from author's site.

Submitted by: Akinori Furukoshi
Obtained from: git://gitorious.org/run/run.git


208018 12-May-2010 thompsa

Reduce diffs to p4.

Add test code for delaying or failing usb control requests, disabled by
default under ifdef USB_REQ_DEBUG.

Submitted by: Hans Petter Selasky


208017 12-May-2010 thompsa

Fix possibly wrong bit masking.

Reported by: n_hibma
Submitted by: Hans Petter Selasky


208016 12-May-2010 thompsa

Add new FTDI USB device ID.

PR: kern/146483
Submitted by: Andre Albsmeier


208015 12-May-2010 thompsa

Increase the max ports to 12, 3G devices exist where the ppp endpoint is #9.

Requested by: n_hibma


208014 12-May-2010 thompsa

Back out r203140 which was causing problems when the first and the last
microframe slot was not in the smask. The problem was that the EHCI driver was
then thinking that the transfer was immediately complete in some cases. Which
could lead to freeze-like situations, which can be recovered by unplugging the
USB device.

Reported by: Richard Kolkovich
Submitted by: Hans Petter Selasky


208013 12-May-2010 thompsa

Add missing ifdefs for usb power saving support.

Submitted by: Hans Petter Selasky


208012 12-May-2010 thompsa

Support getting signed and unsigned HID data.

Submitted by: Alex Deiter
Reviewed by: Hans Petter Selaksy


208011 12-May-2010 thompsa

Add the ASUS MyPal A730W device id.

Submitted by: Dmitry Luhtionov


208010 12-May-2010 thompsa

Provide more information about the device location in the USB system.

Submitted by: Hans Petter Sekasky


208009 12-May-2010 thompsa

Enable support for mouse panning wheels.

Submitted by: Henry Hu


208008 12-May-2010 thompsa

If a USB device is suspended and a USB set config request is issued when the
USB enumeration lock is locked, then the USB stack fails to resume the device
because locking the USB enumeration lock is part of the resume procedure. To
solve this issue a new lock is introduced which only protects the suspend and
resume callbacks, which can be dropped inside the usbd_do_request_flags()
function, to allow suspend and resume during so-called enumeration operations.

Submitted by: Hans Petter Selasky


208007 12-May-2010 thompsa

Staticise usb_ref_device and usb_unref_device.

Submitted by: Hans Petter Selasky


208006 12-May-2010 thompsa

Add quirks for the Alcor SDCR_6362 Card Reader, Freecom HDD storage device and
Samsung YP_U4 music player.

PR: usb/145265, usb/146104
Submitted by: Dmitry Luhtionov, Urankar Mikael, Peter Toth


207768 08-May-2010 emaste

Add dummy function for ic_update_mcast (a la if_urtw) to avoid console
spam.


207554 03-May-2010 sobomax

Add new tunable 'net.link.ifqmaxlen' to set default send interface
queue length. The default value for this parameter is 50, which is
quite low for many of today's uses and the only way to modify this
parameter right now is to edit if_var.h file. Also add read-only
sysctl with the same name, so that it's possible to retrieve the
current value.

MFC after: 1 month


207080 22-Apr-2010 thompsa

Use a more obvious prefix for the USB control (endpoint 0) transfers rather
than default_*.


207079 22-Apr-2010 thompsa

Properly name the sxlocks, mutexes and condvars.


207078 22-Apr-2010 thompsa

Use SX_DUPOK rather than making the string unique.


207077 22-Apr-2010 thompsa

Change USB_DEBUG to #ifdef and allow it to be turned off. Previously this had
the illusion of a tunable setting but was always turned on regardless.

MFC after: 1 week


207027 21-Apr-2010 thompsa

Also add the usb mode to the devd string as the usb controller can work in both
host or device (gadget) modes.

Suggested by: HPS


207020 21-Apr-2010 thompsa

Change usb devd events from fake attach to a notify. The ugen device is not a
proper device_t so it faked the devctl event to appear like one, this is now a
notify which allows more information to be passed.

We notify for both the device attach/detach and for each usb interface. A devd
rule can now match on the interface properties, including composite devices
which may have a uvideo interface and also usound and possibly uhid too.

An example to match a umass device with a scsi subclass and BBB protocol would be

notify 100 {
match "system" "USB";
match "subsystem" "INTERFACE";
match "type" "ATTACH";
match "intclass" "0x08";
match "intsubclass" "0x06";
match "intprotocol" "0x50";
action ...
};

The old attach devctl event has been retained for the moment to make merging to
8.1 easier. This was never compatible with 7.x or earlier due to the ugen regex
change needed.

Reviewed by: warner
MFC after: 1 week


206638 14-Apr-2010 gavin

Use the UIPROTO_BOOT_KEYBOARD #define from usb.h rather than a local
(almost identically named) local #define.

Reviewed by: hselasky


206595 14-Apr-2010 kevlo

Eliminate duplicate comment


206544 13-Apr-2010 kevlo

The Quanta Q101 modem has a different type of cdrom driver disk,
add the product id and use a standard scsi eject.

Reviewed by: thompsa
MFC after: 3 days


206417 09-Apr-2010 rpaulo

Remove previously added if 0's.

MFC after: 1 month


206369 07-Apr-2010 rpaulo

Remove debugging code that snuck in.


206358 07-Apr-2010 rpaulo

net80211 rate control framework (net80211 ratectl).

This framework allows drivers to abstract the rate control algorithm and
just feed the framework with the usable parameters. The rate control
framework will now deal with passing the parameters to the selected
algorithm. Right now we have AMRR (the default) and RSSADAPT but there's
no way to select one with ifconfig, yet.
The objective is to have more rate control algorithms in the net80211
stack so all drivers[0] can use it. Ideally, we'll have the well-known
sample rate control algorithm in the net80211 at some point so all
drivers can use it (not just ath).

[0] all drivers that do rate control in software, that is.

Reviewed by: bschmidt, thompsa, weyongo
MFC after: 1 months


205805 28-Mar-2010 thompsa

Do not sync cache for the PL2506

PR: usb/144915
Submitted by: Monty Hall


205804 28-Mar-2010 thompsa

Do not swap Apple keys when detecting Apple-FN keyboards.

Reported by: Steven Noonan
Submitted by: Hans Petter Selasky


205803 28-Mar-2010 thompsa

Make sure the bsd_urb_list gets initialised and that new URB's are queued at
the end of the list.

Submitted by: Hans Petter Selasky


205802 28-Mar-2010 thompsa

Add PCI IDs for two more nForce controllers.

Submitted by: Dmitry Luhtionov @ gmail.com


205801 28-Mar-2010 thompsa

Add a couple of usb product IDs.

Submitted by: Dmitry Luhtionov @ gmail.com


205681 26-Mar-2010 netchild

- add some usb devices (scanner, printer, usb storage)
- add quirks for the usb storage

Reviewed by: hselasky


205354 20-Mar-2010 imp

Add support for the Samsung S3C2xx0 family of ARM SoCs written by
Andrew Turner. The kernel supports the LN2410SBC evaluation board,
and likely others. These parts (or similar ones) are in some open
hardware designs for phones.

Submitted by: Andrew Turner


205043 11-Mar-2010 thompsa

Add device ID for the NATURAL4000 keyboard


205042 11-Mar-2010 thompsa

- Integrate latest driver code from OpenBSD
- Drain our tasks from the ieee80211 taskqueue
- Add more IDs

Submitted by: Akinori Furukoshi


205040 11-Mar-2010 thompsa

extend search for Apple Function Key.

PR: usb/144414
Submitted by: Hans Petter Selasky


205039 11-Mar-2010 thompsa

Add new device ID for the SMC 2514HUB

Submitted by: Alexander Best


205038 11-Mar-2010 thompsa

add new vendor ID for APACER

Submitted by: Paul B Mahol


205036 11-Mar-2010 thompsa

Implement USB kernel driver detach from userland.

Submitted by: Hans Petter Selasky


205035 11-Mar-2010 thompsa

Make sure there is a way to reset the endpoint FIFO on transfer errors for
ISOCHRONOUS transfers

Submitted by: Hans Petter Selasky


205034 11-Mar-2010 thompsa

For USS820 driver we need to manually reset TX FIFO at each SETUP transaction
because the chip doesn't do this by itself.

Submitted by: Hans Petter Selasky


205033 11-Mar-2010 thompsa

isochronous endpoint descriptors should have two more bytes which are zero by
default.

Submitted by: Hans Petter Selasky


205032 11-Mar-2010 thompsa

Add new uvisor(4) device ID.

PR: usb/144201


205031 11-Mar-2010 thompsa

It appears that some UVISOR devices do not handle when the clear stall command
is issued at the beginning of the initial IN/OUT data transfers. Reason
unknown, probably firmware fault. Now the stall is only cleared on data
transfer errors.

PR: usb/144199
Submitted by: Hans Petter Selasky


205030 11-Mar-2010 thompsa

- make the usb_temp_setup() and usb_temp_unsetup() functions public so that
other modules can generate USB descriptors.
- extend the vendor specific request function by one length pointer argument,
because not all descriptors store the length in the first byte. For example
HID descriptors.

Submitted by: Hans Petter Selasky


205029 11-Mar-2010 thompsa

Use wMaxPacketSize for the uftdi input buffer size.

Submitted by: Hans Petter Selasky


205026 11-Mar-2010 thompsa

Reapply r185998 which was overwritten at some point.


205005 11-Mar-2010 thompsa

Wrap the proc wakeup special case for ddb in ifdef DDB.

Submitted by: Giovanni Trematerra


204632 03-Mar-2010 joel

The NetBSD Foundation has granted permission to remove clause 3 and 4 from
their software.

Obtained from: NetBSD


203906 14-Feb-2010 thompsa

Add device ID for the FTDI 4232H.

PR: usb/143832
Submitted by: UEMURA Tetsuya


203905 14-Feb-2010 thompsa

Add support for the E1752 3G modem and the required eject command.

Submitted by: Milan Obuch


203903 14-Feb-2010 thompsa

Make umodem more tolerant for devices which modem descriptors are misplaced.

Reported by: Erick Wales
Submitted by: Hans Petter Selasky


203899 14-Feb-2010 thompsa

Add UQ_KBD_BOOTPROTO quirk needed in r203896


203896 14-Feb-2010 thompsa

Detect when we are polling from kernel via cngetc() in the boot process and
reserve the keypresses so they do not get passed to syscons.

Submitted by: Hans Petter Selasky


203693 09-Feb-2010 thompsa

Disable the use of the IAAD usb doorbell on NVidia controllers as it can cause
the hardware to stall.

Submitted by: Hans Petter Selasky


203507 05-Feb-2010 thompsa

The ZTE MF633R modem has a different type of cdrom driver disk, add the product
ID and use a standard scsi eject.

Reported by: Patrick Lamaiziere
MFC after: 3 days


203506 04-Feb-2010 thompsa

Properly name the 0x0016 ZTE product as MF633R now that its known.


203146 29-Jan-2010 thompsa

Rework cam error handling to fix Mitsumi floppy drives.

Submitted by: mav


203145 29-Jan-2010 thompsa

Simplify attach for UMASS_PROTO_CBI_I mode and change some switch() returns
into breaks.

Submitted by: Hans Petter Selesky


203144 29-Jan-2010 thompsa

Add null check on quirk lookup and add a couple of umass quirks.

Submitted by: Hans Petter Selesky


203143 29-Jan-2010 thompsa

Add the Netgear WPN111


203142 29-Jan-2010 thompsa

Sync usb products to perforce.


203141 29-Jan-2010 thompsa

Attempt to recover on a TX error rather than stopping all transfers.

Submitted by: Hans Petter Selesky


203140 29-Jan-2010 thompsa

Optimise EHCI ISOC HS done check.

Submitted by: Hans Petter Selasky


203139 29-Jan-2010 thompsa

Add device ID.

PR: usb/142427


203138 28-Jan-2010 thompsa

Use device_printf rather than printf + device_get_nameunit.


203137 28-Jan-2010 thompsa

Release the firmware after loading to the device.


203134 28-Jan-2010 thompsa

Add run(4), a driver for Ralink RT2700U/RT2800U/RT3000U USB 802.11agn devices.

This driver was written for OpenBSD by Damien Bergamini and ported over by
Akinori Furukoshi.


203108 28-Jan-2010 mav

MFp4: Large set of CAM inprovements.

- Unify bus reset/probe sequence. Whenever bus attached at boot or later,
CAM will automatically reset and scan it. It allows to remove duplicate
code from many drivers.
- Any bus, attached before CAM completed it's boot-time initialization,
will equally join to the process, delaying boot if needed.
- New kern.cam.boot_delay loader tunable should help controllers that
are still unable to register their buses in time (such as slow USB/
PCCard/ CardBus devices), by adding one more event to wait on boot.
- To allow synchronization between different CAM levels, concept of
requests priorities was extended. Priorities now split between several
"run levels". Device can be freezed at specified level, allowing higher
priority requests to pass. For example, no payload requests allowed,
until PMP driver enable port. ATA XPT negotiate transfer parameters,
periph driver configure caching and so on.
- Frozen requests are no more counted by request allocation scheduler.
It fixes deadlocks, when frozen low priority payload requests occupying
slots, required by higher levels to manage theit execution.
- Two last changes were holding proper ATA reinitialization and error
recovery implementation. Now it is done: SATA controllers and Port
Multipliers now implement automatic hot-plug and should correctly
recover from timeouts and bus resets.
- Improve SCSI error recovery for devices on buses without automatic sense
reporting, such as ATAPI or USB. For example, it allows CAM to wait, while
CD drive loads disk, instead of immediately return error status.
- Decapitalize diagnostic messages and make them more readable and sensible.
- Teach PMP driver to limit maximum speed on fan-out ports.
- Make boot wait for PMP scan completes, and make rescan more reliable.
- Fix pass driver, to return CCB to user level in case of error.
- Increase number of retries in cd driver, as device may return several UAs.


203087 27-Jan-2010 weongyo

adds sysctl knobs to show rate statistics that it could be useful to
debug slow TX speed.


202609 19-Jan-2010 weongyo

Product ID of D-Link DWA-120 after loading the firmware is incorrect.


202608 19-Jan-2010 weongyo

removes a hack to attach TRENDnet TEW-504UB/EU that I think this issue
is solved with r202607. Now idProduct of all uath(4) devices should be
decreased after loading the firmware.


202270 14-Jan-2010 thompsa

Grammar nits.

Submitted by: Ben Kaduk


202243 13-Jan-2010 thompsa

Update to Fredrik's latest uhso driver. This changes port detection, adds
comments and other code nits.

Submitted by: Fredrik Lindberg <fli@shapeshifter.se>


202181 13-Jan-2010 thompsa

Add a driver by Fredrik Lindberg for Option HSDPA USB devices. These differ
from standard 3G wireless units by supplying a raw IP/IPv6 endpoint rather than
using PPP over serial. uhsoctl(1) is used to initiate and close the WAN
connection.

Obtained from: Fredrik Lindberg <fli@shapeshifter.se>


202054 11-Jan-2010 thompsa

Add the Globetrotter GE40x.

Submitted by: Mike Tancsa


201797 08-Jan-2010 trasz

Remove unused uhci_dump_qhs().

Reviewed by: hps


201766 08-Jan-2010 thompsa

Remove unneeded includes.


201758 07-Jan-2010 mbr

Remove extraneous semicolons, no functional changes.

Submitted by: Marc Balmer <marc@msys.ch>
MFC after: 1 week


201714 07-Jan-2010 thompsa

Fix debug printf on 64bit arches.

Spotted by: b. f.


201701 07-Jan-2010 thompsa

Add new umass quirks for Western Digital MYBook and JMicron JM20337.

PR: usb/142225, usb/142228
Submitted by: Thomas Ward, Yoshikazu GOTO
MFC after: 1 week


201681 06-Jan-2010 thompsa

Improve u3g device ejecting by providing additional methods for the eject
command in the usb_msctest routines, as well as a general tidyup.

This now properly ejects the ZTE MF636, Option Gi0322 and Novatel MC950D
devices I have on my desk.


201680 06-Jan-2010 thompsa

scratch_size was incorrectly passed as language ID when retrieving the language
ID table, this broke string retrieval on some devices.

Submitted by: Hans Petter Selasky
Reported by: Renato Botelho


201318 31-Dec-2009 thompsa

Add new device ID to uipaq driver

PR: usb/141936
Submitted by: HASHI Hiroaki


201071 28-Dec-2009 thompsa

Compact USB_VENDOR_X and USB_PRODUCT_Y in the quirk tables.


201028 26-Dec-2009 thompsa

Use macros to strip off USB_VENDOR_ and USB_PRODUCT_ from some id tables to make
them more compact and readable.


200887 23-Dec-2009 thompsa

Shorten the USB_QUIRK_ENTRY macro and undef it at the end, its only internal.


200886 23-Dec-2009 thompsa

Move all Mass Storage Quirks over to the USB quirk module.

Submitted by: Hans Petter Selasky


200885 23-Dec-2009 thompsa

Sync usb vendor/product defines to p4

Submitted by: HPS


200827 22-Dec-2009 thompsa

Add missed usb product define in r200826.


200826 22-Dec-2009 thompsa

add new ID to UFTDI driver.

Submitted by: YAMAMOTO, Shigeru


200823 22-Dec-2009 thompsa

Add more OHCI pci ids.

Submitted by: Hans Petter Selasky


200822 22-Dec-2009 thompsa

Add more EHCI pci ids.

Submitted by: Hans Petter Selasky


200658 18-Dec-2009 thompsa

Keep list sorted.


200657 18-Dec-2009 thompsa

Add a bunch of new 3G ids obtained from from various operating systems and
Internet sources.

Obtained from: Linux, NetBSD, OpenBSD, etc


200653 17-Dec-2009 thompsa

Use the EVENTHANDLER system to hook into the usb device configuration and
perform a function such as ejecting a 3G autoinstaller disk. The eventhandler
system properly tracks threads and is safe to unload, remove the
setting/clearing of a function pointer in the kernel by u3g(4) which included a
tsleep for safety.


200396 11-Dec-2009 thompsa

Wrap long lines.


200395 11-Dec-2009 thompsa

Add a quirk for the Curitel UM175 where setting multiplexing for call
management over the data endpoint causes communication to die.

Take this one step further and model it on the existing NetBSD quirk and import
other device IDs from them.

Obtained from: NetBSD


200376 11-Dec-2009 thompsa

Revert r199331, the UM175 is in fact a cdc-acm device handled by umodem(4).


200308 09-Dec-2009 thompsa

Fix hardware issue with FTDI chips: avoid sending a zero length packet due to
hardware sending garbage on ZLPs.

Reported by: Corey Smith
Submitted by: HPS


200307 09-Dec-2009 thompsa

Fix dwSignature for NCM mode and add extra debug output.

Submitted by: HPS


200306 09-Dec-2009 thompsa

Add new device ids.

PR: usb/140951, usb/140923
Submitted by: Romain Tartiere, Brett Glass


200305 09-Dec-2009 thompsa

Correct name, 82801IJ -> 82801JI

Submitted by: mitya_cabletv.dp.ua


200304 09-Dec-2009 thompsa

If the ID byte is non zero then we allow descriptors having multiple sizes.

Submitted by: HPS
Reported by: daichi


200241 08-Dec-2009 rpaulo

Improve response to multi-touch taps.

Submitted by: Rohit Grover <rgrover1 at gmail.com>


200087 03-Dec-2009 thompsa

Add uhci/ehci controller ids.

Submitted by: mitya_cabletv.dp.ua


199948 29-Nov-2009 nwhitehorn

Early-generation touchpads do not send periodic calibration frames for
baseline subtraction, and are very temperature sensitive, so would slowly
drift out of a calibrated state when under load. Escape this by taking
the last frame before we decide that the pad is idle as a finger-free
baseline.

Tested on: iBook G4


199876 28-Nov-2009 ed

Remove unneeded inclusion of <sys/termios.h>.


199816 26-Nov-2009 thompsa

Remove overuse of exclamation marks in kernel printfs, there mere fact a
message has been printed is enough to get someones attention. Also remove the
line number for DPRINTF/DPRINTFN, it already prints the funtion name and a
unique message.


199814 25-Nov-2009 thompsa

Disable interrupts after doing early takeover of the usb controller in case usb
isnt actually compiled in (or kldloaded) as the controller could cause spurious
interrupts.

Tested by: Florian Smeets


199718 23-Nov-2009 thompsa

Actually disable interrupts in ehci_detach().

Reviewed by: HPS


199680 22-Nov-2009 thompsa

Make the mode setting transfer asynchronous.

Submitted by: Rohit Grover


199678 22-Nov-2009 thompsa

Add missed register change in r199676.

Submitted by: Hans Petter Selasky


199676 22-Nov-2009 thompsa

Correct register access for USB device side operation on the musb controller.

Submitted by: Hans Petter Selasky


199675 22-Nov-2009 thompsa

Provide tunables for some of the usb sysctls that affect boot behaviour.

Submitted by: Andriy Gapon


199673 22-Nov-2009 thompsa

Initialise variable before use.

Submitted by: Hans Petter Selasky


199672 22-Nov-2009 thompsa

Improve High Speed slot allocation mechanism by moving the computation to the
endpoint rather than per xfer and provide functions around get/free of resources.

Submitted by: Hans Petter Selasky


199332 16-Nov-2009 thompsa

Sort ID list by vendor.


199331 16-Nov-2009 thompsa

Add the Curitel UM175 3g device.


199169 11-Nov-2009 nwhitehorn

Reduce probe priority of USB input devices to BUS_PROBE_GENERIC from
BUS_PROBE_SPECIFIC. This allows device-specific drivers like atp to
attach reliably.

Reviewed by: hps


199151 10-Nov-2009 nwhitehorn

Add support for the touchpads found in later models of iBook and
Powerbook.

Reviewed by: Rohit Grover <rgrover1 at gmail.com>


199086 09-Nov-2009 rpaulo

Driver for the Apple Touchpad present on MacBook (non-Pro & Pro).

Submitted by: Rohit Grover <rgrover1 at gmail.com>
MFC after: 2 months


199062 08-Nov-2009 thompsa

Correct Olympus quirk.

Submitted by: Pavel Gubin


199061 08-Nov-2009 thompsa

Add missing mtx_destroy().

Submitted by: Sebastian Huber


199059 08-Nov-2009 thompsa

improve support for high speed isochronous endpoints which does not run 1:1,
but needs intervalling 1:2, 1:4 or 1:8

Submitted by: Hans Petter Selasky


199058 08-Nov-2009 thompsa

Integrate lost interrupts patch from the old USB stack.

Some EHCI chips from VIA / ATI seem to trigger interrupts before writing back
the qTD status, or miss signalling occasionally under heavy load. If the host
machine is too fast, we can miss transaction completion - when we scan the
active list the transaction still seems to be active. This generally exhibits
itself as a umass stall that never recovers.

We work around this behaviour by setting up this callback after any softintr
that completes with transactions still pending, giving us another chance to
check for completion after the writeback has taken place

Submitted by: Alexander Nedotsuko
MFC after: 3 days


199057 08-Nov-2009 thompsa

ehci_init() will do reset and set the usbrev flag. Fix problem where
ehci_reset() was called before ehci_init().

PR: usb/140242
Submitted by: Sebastian Huber


198862 03-Nov-2009 weongyo

fixes a typo that value should be 0 not 10.


198776 01-Nov-2009 thompsa

- Add usb_fill_bulk_urb() and usb_bulk_msg() linux compat functions [1]
- Don't write actual length if the actual length pointer is NULL [2]
- correct Linux Compatibility error codes for short isochronous IN transfers
and make status field signed.

Submitted by: Leunam Elebek [1], Manuel Gebele [2]


198775 01-Nov-2009 thompsa

Fix a corner case where usbd_transfer_drain() can return too early if the
callback has dropped the mutex, leading to a panic.

Submitted by: HPS
MFC after: 3 days


198774 01-Nov-2009 thompsa

Check unit number and provide string name for consdev.

Submitted by: HPS


198501 26-Oct-2009 thompsa

Revert r198500 for now, this will break situations when
hw.pci.usb_early_takeover is set to zero and the SMM release
is never done.

Pointed out by: marcel


198500 26-Oct-2009 thompsa

Remove usb controller takeover code now that it is handled by the pci code.

Reminded by: jhb
Reviewed by: HPS


198373 22-Oct-2009 thompsa

Allow dumping the USB mouse reports via 'sysctl -b dev.ums.N.parseinfo',
previously only available via bootverbose.

PR: usb/137191
Submitted by: Eygene Ryabinkin


198307 20-Oct-2009 thompsa

Change from CAM_TID_INVALID to CAM_SEL_TIMEOUT error code when the usb device
has been yanked, this works around a cam recounting bug when
CAM_DEV_UNCONFIGURED is set late in the detach. In certain conditions the
reference to the XPT device would not be released which would cause the usb
explore thread to sleep forever on "simfree", preventing any new usb devices to
be found/ejected on the bus.

This is intended to be a quick workaround to the problem without touching CAM
so it can be merged to 8.0.

Suggested by: mav
MFC after: 3 days


198257 19-Oct-2009 thompsa

Add support for newer WinChipHead CH341 chips, previously in the uch341 driver.

Submitted by: HPS


198256 19-Oct-2009 thompsa

Remove the newly added uch341 driver, it will be merged into uchcom instead.

Suggested by: takawata
Submitted by: HPS


198194 18-Oct-2009 weongyo

overhauls urtw(4) for supporting RTL8187B devices properly that there
was major changes to initialize RF chipset and set H/W registers and
removed a lot of magic numbers on code. Details are as follows:

- uses the endpoint 0x89 to get TX status information which used to
get TX complete or retry numbers or get a beacon interrupt. It's
only valuable for RTL8187B.
- removes urtw_write[8|16|32]_i functions that it's useless now.
- uses ic->ic_updateslot to set SLOT, SIFS, DIES, EIFS, CW_VAL
registers that doesn't set these whenever the channel is changed.
- code for initializing RF chipset for RTL8187B changed a lot that
there was many problems on TX transfers so it doesn't work properly
even if just for a ping/pong. Now it becomes more stable than
before that TX throughputs using netperf(1) were about 15 ~ 17Mbps/s
though sometimes it encounters packet losses.
- removes a lot of magic numbers that in the previous all of
representing RX and TX descriptors were consisted of magic numbers
and structures. It'd be more readable rather than before.
- calculates TX duration more accurately for urtw(4) devices.
- style(9)


198153 15-Oct-2009 thompsa

Correct offset calcluation for the NCM implementation.

Submitted by: HPS


198152 15-Oct-2009 thompsa

Only poll ukbd if KDB is active.

Submitted by: HPS


198151 15-Oct-2009 thompsa

Workaround buggy BIOS code in USB regard. By doing the BIOS to OS handover for
all host controllers at the same time, we avoid problems where the BIOS will
actually write to the USB registers of all the USB host controllers every time
we handover one of them, and consequently reset the OS programmed values.

Submitted by: avg
Reviewed by: jhb


198099 14-Oct-2009 weongyo

fixes a TX hang that could be possible to happen when the trasfers are
in the high speed that some drivers don't call if_start callback after
marking ~IFF_DRV_OACTIVE.

MFC after: 3 days


198098 14-Oct-2009 weongyo

fixes a TX hang bug that it could happen when if_start callback didn't
be restarted by full of the output queue.

MFC after: 3 days
Tested by: bsduser <bsd at acd.homelinux.org>


197999 12-Oct-2009 hrs

Fix the 106/109 USB Japanese keyboard "underscore" issue.
Sun Type 6 USB keyboard support added in rev 1.46 conflicted with
some scan codes used in Japanese keyboards because the scan code
conversion routine was ambiguous for the overlapped codes.

PR: ports/134005
Submitted by: YAMASHIRO Jun


197761 04-Oct-2009 weongyo

updates device entries supported with the product name not magic numbers
and sorts entries. WUSB54GCV2 is added.

Obtained from: OpenBSD


197682 01-Oct-2009 thompsa

EHCI Hardware BUG workaround

The EHCI HW can use the qtd_next field instead of qtd_altnext when a short
packet is received. This contradicts what is stated in the EHCI datasheet.
Also the total-bytes field in the status field of the following TD gets
corrupted upon reception of a short packet! We work this around in software by
not queueing more than one job/TD at a time of up to 16Kbytes! The bug has been
seen on multiple INTEL based EHCI chips. Other vendors have not been tested
yet.

- Applications using /dev/usb/X.Y.Z, where Z is non-zero are affected, but not
applications using LibUSB v0.1, v1.2 and v2.0.
- Mass Storage (umass) is affected.

Submitted by: Hans Petter Selasky
MFC after: 3 days


197573 28-Sep-2009 thompsa

Add back endpoint swap detection that was disabled in an earlier driver
conversion.

Submitted by: Hans Petter Selasky


197572 28-Sep-2009 thompsa

Add new FTDI IDs.

Submitted by: Maks Verver, Arrigo Marchiori


197570 28-Sep-2009 thompsa

Add experimental support for usb serial console and polled mode during DDB.

Submitted by: Hans Petter Selasky


197569 28-Sep-2009 thompsa

Add a config number quirk for the ELSA_MODEM1

Submitted by: Stefan Bethke


197568 28-Sep-2009 thompsa

add more device IDs

Reported by: Mike Tancsa
Submitted by: Hans Petter Selasky


197567 28-Sep-2009 thompsa

Allow setting of MAC address for AXE based ethernet adapters.

Submitted by: yongari


197566 28-Sep-2009 thompsa

Increase the rx buffer size to 16384 bytes, this increases RX performance from
50Mbps to 220Mbps on PLANEX GU-1000T.

Submitted by: yongari


197565 28-Sep-2009 thompsa

- Remove SAMSUNG_YP_U2 now that it is in the cam layer
- Add quirk from Tobias Grosser for Western Mypassword

Submitted by: Hans Petter Selasky


197564 28-Sep-2009 thompsa

MFp4

Add new usbdev entries for Marvell, FTDI, Option and Western.


197563 28-Sep-2009 thompsa

Add basic support for USB Network Control Model (NCM) v1.0 to if_cdce.c.

http://www.usb.org/developers/devclass_docs/NCM10.zip

Submitted by: Hans Petter Selasky


197562 28-Sep-2009 thompsa

Add extra safety locking when clobbering xfer->flags_int.started in start and
stop functions, because xfer->flags_int is also updated by the USB controller,
under the controller lock.

Submitted by: Hans Petter Selasky


197561 28-Sep-2009 thompsa

Correct buffer sizes used so that they match. The old code could give the
impression that a overflow situation existed but was not possible.

Reported by: kib
Submitted by: Hans Petter Selasky


197559 28-Sep-2009 thompsa

Add support for USB language selection.

PR: usb/138563
Reported by: Bruce Cran
Submitted by: Hans Petter Selasky


197558 28-Sep-2009 thompsa

Fix NULL-pointer dereference in usb_endpoint_foreach().

PR: usb/138389
Submitted by: Patroklos Argyroudis at census, inc


197557 28-Sep-2009 thompsa

Add support for ChipHead 341 serial port adapter.

Submitted by: Hans Petter Selasky


197556 28-Sep-2009 thompsa

Clear all interrupts rather than just SETUP packet.

Submitted by: Hans Petter Selasky


197555 28-Sep-2009 thompsa

Simplify logic around setting EHCI_QH_DTC and expand some htohc32(temp.sc, 0)
statements to zero.

Submitted by: Hans Petter Selasky


197554 28-Sep-2009 thompsa

Import two PCI quirks from Linux

- Add quirk for ATI SB600 and SB700 to free SMB controller
- Correct schedule sleep time to 10us on the VIA ehci controller

Reported by: Dorian B<FC>ttner, Andriy Gapon
Submitted by: Hans Petter Selasky


197553 28-Sep-2009 thompsa

MFp4 @ 168387

- clean up USB detach logic. There seems to be some problems detaching multiple
USB HUBs connected in series from the root.

- after this patch the rule is:
1) Always use device_detach() on the USB HUB first.
2) Never just device_delete_child() on the USB HUB, because that function
will traverse to all the device leaves and free them first, and then the USB
stack will free the devices twice which doesn't work very well.

- make sure the did DMA delay gets set after the timeout has elapsed to make
logic more clear. There is no functional difference.

Submitted by: Hans Petter Selasky


196970 08-Sep-2009 phk

Revert previous commit and add myself to the list of people who should
know better than to commit with a cat in the area.


196969 08-Sep-2009 phk

Add necessary include.


196826 04-Sep-2009 trasz

Make umass(4) pass device USB serial number to CAM, making it possible
to e.g. retrieve it using camcontrol(8).

Reviewed by: scottl, hps (earlier version)
Obtained from: Wheel Sp. z o.o. (http://www.wheel.pl)


196809 04-Sep-2009 weongyo

fix a TX issue on big endian machines like powerpc or sparc64. Now
zyd(4) should work on all architectures.

Obtained from: OpenBSD


196547 25-Aug-2009 thompsa

It is possible for all the kthreads to exit (hci modules unloaded) which in
turn ends our usb process. This means the proc pointer becomes invalid and will
panic if a new kthread is added. Count the number of threads and clear the proc
pointer on the last one.

Suggested by: julian
MFC after: 3 days


196498 24-Aug-2009 alfred

- Patch to allow USB controller to resume operation after
being polled.

- Remove the need for Giant from the USB HUB driver.

- Leave device unconfigured instead of disabling the USB port
when Huawei Autoinstall disk detection triggers. This should
fix problems that the Huawei device is not detected after
Autoinstall eject is issued.
- Reported by: Nikolay Antsiferov

- Fix memory use after free race for USB character devices.
- Reported by: Lucius Windschuh

- Factor out the enumeration lock into three functions to make the
coming newbus lock conversion more easy.
- usbd_enum_lock
- usbd_enum_unlock
- usbd_enum_is_locked

Submitted by: hps


196497 24-Aug-2009 alfred

Remove redundant locking.

Submitted by: hps


196496 24-Aug-2009 alfred

Add a reminder comment to optimize bus_dmamap_sync calls.

Submitted by: hps


196495 24-Aug-2009 alfred

Add mass storage quirks.

PR: usb/137138,usb/137226,usb/137789,usb/135372

Submitted by: hps


196494 24-Aug-2009 alfred

- fix uvisor support, mostly correct buffer sizes used.
- correct device info flag for SONY Cli NR70V

Reported by: Marc Fonvieille
Submitted by: hps


196493 24-Aug-2009 alfred

- Fix false positive uipaq probe

Reported by: Alexander Motin <mav@freebsd.org>

Submitted by: hps


196492 24-Aug-2009 alfred

- fix CDC ethernet matching order so that the match flags get correct.

Reported by: Juergen Lock

Submitted by: hps


196491 24-Aug-2009 alfred

We used force all of the GPIO pins low first and then
enable the ones we want. This has been changed to better
match the ADMtek's reference design to avoid setting the
power-down configuration line of the PHY at the same time
it is reset.

Submitted by: John Hood via hps


196490 24-Aug-2009 alfred

- FIFO's are always opened separately in read and write
direction even if the actual device is opened for read and
write. Fix fflags check so that the UFM and URIO drivers work.
Reported by: Krassimir Slavchev

Submitted by: hps


196489 24-Aug-2009 alfred

- patch for cordump slowdown. Avoid using DELAY(1000) when no
keys are pressed.
- Reported by: Various people

- add sysctl to disable keyboard led control request
- Reported by: Yoshihiro Ota

- Save system CPU usage: Patch to stop keyboard timer when no
keys are pressed.

Submitted by: hps
MFC after: 3 days


196488 24-Aug-2009 alfred

- allow disabling "root_mount_hold()" by
setting a sysctl/tunable at boot
- remove some redundant initial explore code

Submitted by: hps


196403 20-Aug-2009 jhb

Temporarily revert the new-bus locking for 8.0 release. It will be
reintroduced after HEAD is reopened for commits by re@.

Approved by: re (kib), attilio


196380 19-Aug-2009 raj

Fix USB cache sync operations for platforms with non-coherent DMA.

- usb_pc_cpu_invalidate() is called between [consecutive] reads from a device,
so a sequence of BUS_DMASYNC_POSTREAD and _PREREAD should be used. Note we
cannot use or'ed shorthand ( _POSTREAD | _PREREAD) for BUS_DMASYNC flags, as
the low level bus dma sync operation is implementation dependent and we
cannot assume the required order of operations to be guaranteed.

- usb_pc_cpu_flush() is called before writing to a device, so
BUS_DMASYNC_PREWRITE should be used.

Submitted by: Grzegorz Bernacki
Reviewed by: HPS, arm@, usb@ ML
Tested by: HPS, Mike Tancsa
Approved by: re (kib)
Obtained from: Semihalf


196274 16-Aug-2009 thompsa

Change the usb workers from kernel processes to threads, this is mostly a
cosmetic change to reduce cruft in the proc table.

Also change the idle wait message to `-` like how taskqueues are.

Reviewed by: julian
Approved by: re (kib)


196219 14-Aug-2009 jhb

Purge mergeinfo from files that were temporarily renamed while USB2 was
imported into the tree alongside USB.

Approved by: re (mergeinfo blanket)


196037 02-Aug-2009 attilio

Make the newbus subsystem Giant free by adding the new newbus sxlock.
The newbus lock is responsible for protecting newbus internIal structures,
device states and devclass flags. It is necessary to hold it when all
such datas are accessed. For the other operations, softc locking should
ensure enough protection to avoid races.

Newbus lock is automatically held when virtual operations on the device
and bus are invoked when loading the driver or when the suspend/resume
take place. For other 'spourious' operations trying to access/modify
the newbus topology, newbus lock needs to be automatically acquired and
dropped.

For the moment Giant is also acquired in some key point (modules subsystem)
in order to avoid problems before the 8.0 release as module handlers could
make assumptions about it. This Giant locking should go just after
the release happens.

Please keep in mind that the public interface can be expanded in order
to provide more support, if there are really necessities at some point
and also some bugs could arise as long as the patch needs a bit of
further testing.

Bump __FreeBSD_version in order to reflect the newbus lock introduction.

Reviewed by: ed, hps, jhb, imp, mav, scottl
No answer by: ariff, thompsa, yongari
Tested by: pho,
G. Trematerra <giovanni dot trematerra at gmail dot com>,
Brandon Gooch <jamesbrandongooch at gmail dot com>
Sponsored by: Yahoo! Incorporated
Approved by: re (ksmith)


195978 30-Jul-2009 weongyo

fixes a typo for DWA120 device ID.

Reported by: Alexander Kuznetsov <skritku at gmail.com>
Approved by: re (kib)


195968 30-Jul-2009 alfred

Missed this file for r195963:
USB core:
- add support for defragging of written device data.
- improve handling of alternate settings in device side mode.
- correct return value from usbd_get_no_alts() function.
- reported by: HPS
- P4 ID: 166156, 166168

- report USB device release information to devd and pnpinfo.
- reported by: MIHIRA Sanpei Yoshiro
- P4 ID: 166221

Submitted by: hps
Approved by: re


195967 30-Jul-2009 alfred

USB CORE - Improve HID parsing

See PR description for more info. Patch is
implemented differently than suggested, but
having the same result.

PR: usb/137188

Submitted by: hps
Approved by: re


195966 30-Jul-2009 alfred

USB CORE - compat Linux:
- Patch request from Tim Borgeaud:
- add automatic locking
- add refcount for killing URB's

Submitted by: hps
Approved by: re


195965 30-Jul-2009 alfred

USB controller:
- allow disabling "root_mount_hold()" by setting "hw.usb.no_boot_wait" sysctl

Submitted by: hps
Approved by: re


195964 30-Jul-2009 alfred

ULPT:
- add conditional printer status checking
- P4 ID: 166176

Submitted by: hps
Approved by: re


195963 30-Jul-2009 alfred

USB core:
- add support for defragging of written device data.
- improve handling of alternate settings in device side mode.
- correct return value from usbd_get_no_alts() function.
- reported by: HPS
- P4 ID: 166156, 166168

- report USB device release information to devd and pnpinfo.
- reported by: MIHIRA Sanpei Yoshiro
- P4 ID: 166221

Submitted by: hps
Approved by: re


195962 30-Jul-2009 alfred

USB serial:
- add new ID for Huawei
- P4 ID: 166150

PR: usb/136761

Submitted by: hps
Approved by: re


195960 30-Jul-2009 alfred

USB CORE:
- Add minimum polling support to drive UMASS
and UKBD in case of panic.
- Add extra check to ukbd probe to fix problem about
mouse devices attaching like keyboards.
- P4 ID: 166148

Submitted by: hps
Approved by: re


195959 30-Jul-2009 alfred

USB input
- add support for setting the UMS polling rate through -F option
passed to moused.
- requested by Alexander Best
- P4 ID: 166075

PR: usb/125264

Submitted by: hps
Approved by: re


195958 30-Jul-2009 alfred

USB controller:
- patch from Alexander Motin <mav@freebsd.org>
- add more ID's
- P4 ID: 165805

Submitted by: hps
Approved by: re


195916 27-Jul-2009 weongyo

adds DLINK2 DWA120 device.

PR: usb/136950
Reported by: Alexander Kuznetsov <skritku at gmail.com>
Approved by: re (kib)


195639 12-Jul-2009 marcel

MFp4:
USB CORE: busdma improvement

For single segment allocations the boundary field
of the BUSDMA tag should be zero. Currently all
single segment allocations are less than or equal
to 4096 bytes, so the limit does not kick in. If
any single segment USB allocations would be greater
than 4K, then it would be a problem.

Approved by: re (kensmith)
Obtained from: HPS


195146 28-Jun-2009 ed

Don't pick up Giant inside ucom(4).

Giant was only used here to lock down a bit mask of allocated unit
numbers. Change the code to use its own mutex.

Reviewed by: hselasky
Approved by: re (kib)


195133 28-Jun-2009 phk

Add ids of Sitecom USB wlan gadget.

Approved by: re (kib)


195121 27-Jun-2009 thompsa

Sync to p4

- Add support for devices that handle set and clear stall in hardware.
- Add missing get timestamp function
- Add more xfer flags

Submitted by: Hans Petter Selasky
Approved by: re (kib)


195080 26-Jun-2009 delphij

Add quirks for Actions MP4 player.

Submitted by: John Hixson <john ixsystems com>
Approved by: re (kib)
MFC after: 2 weeks


195049 26-Jun-2009 rwatson

Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/
IF_ADDR_UNLOCK() across network device drivers when accessing the
per-interface multicast address list, if_multiaddrs. This will
allow us to change the locking strategy without affecting our driver
programming interface or binary interface.

For two wireless drivers, remove unnecessary locking, since they
don't actually access the multicast address list.

Approved by: re (kib)
MFC after: 6 weeks


194939 25-Jun-2009 weongyo

updates AMRR statistics with tx complete status that if not the tx rate
always would be reduced.


194937 25-Jun-2009 weongyo

uses ZYD_NOTIF_RETRYSTATUS info to count the number of retries.


194682 23-Jun-2009 thompsa

Fix a typeo in the frame len function to unbreak the build, make it shorter
while I am here.


194677 23-Jun-2009 thompsa

- Make struct usb_xfer opaque so that drivers can not access the internals
- Reduce the number of headers needed for a usb driver, the common case is just usb.h and usbdi.h


194659 22-Jun-2009 thompsa

Fix length check for ugen control transfer.

Submitted by: Sylvestre Gallon, HPS


194584 21-Jun-2009 remko

use PROTO_DEFAULT.

Requested by: hps


194582 21-Jun-2009 remko

Add support for the Myson Heden 8813.
Note that I also added the usbdev to the list, because the 8813 version
is not yet known there. I might have twisted the sorting there but because
8813 comes before 8818, I added it before that (with _8813 to differentiate)
the item.

PR: 135628
Submitted by: Yoshikazu GOTO <goto at on-link dot jp>
Approved by: imp (mentor, implicit)


194329 17-Jun-2009 weongyo

reorders the sequence when the device is detached. After detaching the
interface is completed then it'll process other parts to avoid a race
condition.

Pointed by: jhb


194271 15-Jun-2009 thompsa

Fix usb2_find_descriptor function name.


194230 15-Jun-2009 thompsa

Fix _USB2_* refernces in the header protection defines.


194228 15-Jun-2009 thompsa

s/usb2_/usb_|usbd_/ on all function names for the USB stack.


194227 15-Jun-2009 thompsa

Remove usb2_cv_* and just use the kernel condvar implementation, it was needed
earlier since condition variables didnt work with Giant but this was fixed 10
months ago.


194102 13-Jun-2009 sanpei

Correct entry of vendor ID 0x0d8c. It's C-Media, not ABC.

Obtained from: NetBSD usbdevs rev.1.418


194099 13-Jun-2009 thompsa

Make variables static where appropriate.

Found by: cscout


194072 12-Jun-2009 marcel

Move the memory layout definitions and logic from mvreg.h to mvwin.h
so that it isn't exposured unless needed. In particular this means
that it's easier to tune the memory layout based on board details.
While here, remove inclusion of <machine/intr.h> from mvreg.h. This
also contains exposure to SoC specifics in MI drivers, because NIRQ
depends on the SoC.


194068 12-Jun-2009 thompsa

Change ums_probe() so it does not need to fetch the usb_interface_descriptor.

Submitted by: Hans Petter Selasky


194067 12-Jun-2009 thompsa

Check for a keyboard HID report in addition to the interface class so devices
such as the Yubikey attach.

Submitted by: Hans Petter Selasky
Reported by: Jeremy Faulkner


194065 12-Jun-2009 thompsa

Free the correct memory pointer.

Submitted by: Tim Borgeaud (via HPS)


194064 12-Jun-2009 thompsa

Minor device side improvement. Make sure a not complete state gets paired with
a complete state in device side mode for the default control endpoint.

Submitted by: Hans Petter Selasky


193803 09-Jun-2009 weongyo

unify zyd_tx_mgt() and zyd_tx_data() to simplify TX path and sorts
setting TX descritor.

While I'm here fixes a bug that the management frames only sent at 2
Mbits/s.


193733 08-Jun-2009 thompsa

Change driver_info to a ulong as it always stores a number and remove the only
diff of the usb_device_id struct to Linux.

Reviewed by: HPS


193644 07-Jun-2009 thompsa

Rename usb pipes to endpoints as it better represents what they are, and struct
usb_pipe may be used for a different purpose later on.


193466 04-Jun-2009 thompsa

Remove duplicate variable setting.

Spotted by: Sylvestre Gallon


193420 04-Jun-2009 weongyo

reimplements RF logic for GCT chipset (as known as UW2453) to support
ICIDU NI-707503 which is donated by Nick Hibma (great thanks!). Though
it has a MAXIM RF (0x8) there's some success reports with using GCT RF
(0x9) codes and it worked well for ICIDU NI-707503 too. So codes for
MAXIM and GCT RFs are integrated.

Before this commit, if I rememeber correctly, MAXIM RF is never tested
that it seems it's a first report working with FreeBSD.


193419 04-Jun-2009 weongyo

cleanups the device match list.


193338 02-Jun-2009 thompsa

Place the fifo and ref counting variables on the stack to prevent races.

Submitted by: Hans Petter Selasky


193318 02-Jun-2009 thompsa

Reorgansise the logic for tranversing the pipe list.

Submitted by: Hans Petter Selasky


193317 02-Jun-2009 thompsa

Fix compile after the removal of bsd_udev.

Submitted by: Hans Petter Selasky


193316 02-Jun-2009 thompsa

Fix multithread issue where the is_uref variable was not set and cleared
properly in the CDEV private data.

Submitted by: Hans Petter Selasky


193315 02-Jun-2009 thompsa

Staticize ukbd_detach and fix indentation.

Submitted by: Sylvestre Gallon


193194 01-Jun-2009 weongyo

ZyXEL G-202 has zd1211b chipset, not zd1211.

Tested by: Samuel Boivie <samuel at boivie.org>


193171 31-May-2009 deischen

Add a NO_SYNCHRONIZE_CACHE quirk for an AIPTEK2
part identified as Sunplus Technology Inc. This
happens to sit in a Rosewill RX81U-ES-25A 2.5" SATA
to USB 2.0 external enclosure.

Reviewed by: Hans Petter Selasky


193074 30-May-2009 thompsa

Revert the size_t part of the last commit for the moment, this blows up the
USB_ADD_BYTES macro.


193073 29-May-2009 sam

validate tx rate(s) in the raw xmit path

Tested by: "Paul B. Mahol" <onemda@gmail.com> (rum, bwi)


193068 29-May-2009 thompsa

Fix function arguments were previously they matched the typedef by accident.


193045 29-May-2009 thompsa

s/usb2_/usb_/ on all typedefs for the USB stack.


193042 29-May-2009 thompsa

Free device strings.

Spotted by: HPS


193029 29-May-2009 weongyo

adds new device IDs.

PR: usb/135009
Submitted by: Bill Squire <billsf at 2600.COM>


193018 29-May-2009 ed

Last minute TTY API change: remove mutex argument from tty_alloc().

I don't want people to override the mutex when allocating a TTY. It has
to be there, to keep drivers like syscons happy. So I'm creating a
tty_alloc_mutex() which can be used in those cases. tty_alloc_mutex()
should eventually be removed.

The advantage of this approach, is that we can just remove a function,
without breaking the regular API in the future.


192984 28-May-2009 thompsa

s/usb2_/usb_/ on all C structs for the USB stack.


192938 27-May-2009 thompsa

Allocate the usb serial, manufacturer and product strings rather than use char
arrays in the usb_device struct. This also eliminates USB_HAVE_STRINGS.


192925 27-May-2009 thompsa

Add support for the Apple MacBook Pro keyboard
- add key mappings for fn keys
- byte swapping for certain models
- Fix leds for keyboards which require an ID byte for the HID output structures

Submitted by: Hans Petter Selasky


192910 27-May-2009 thompsa

Remove empty dir.


192907 27-May-2009 thompsa

move ng_ubt_var.h back to its original place


192906 27-May-2009 thompsa

move ng_ubt.c back to its original place


192905 27-May-2009 thompsa

move ubtbcmfw.c back to its original place


192873 27-May-2009 weongyo

ports urtw(4) for USB2. Additionally it supports a 8187B chipset weakly
that it needs more stabilization.


192857 26-May-2009 thompsa

Unifdef __NetBSD__ here, the usb stack as a whole doesnt support NetBSD and it
obsfucates the code.


192820 26-May-2009 thompsa

Do not forcefully close the write transfer when closing the tty, it needs to
run to completion and drain the tty queue.


192559 21-May-2009 thompsa

Don't clear last usage when a new HID item is found, it improves parsing of
Apple keyboard HID descriptors.

Submitted by: Hans Petter Selasky


192558 21-May-2009 thompsa

Remove README.TXT as the info is in usb(4).


192557 21-May-2009 thompsa

Add Sharp WILLCOM03 ipaq and Option GTHSDPA 3g device ids.

Submitted by: Hans Petter Selasky


192556 21-May-2009 thompsa

Use the correct usb config number on attach.

Reported by: Greg Rivers
Submitted by: Hans Petter Selasky


192555 21-May-2009 thompsa

Fix a failure to report failure on stalled status stage for control
transactions.

Submitted by: Hans Petter Selasky


192554 21-May-2009 thompsa

Add a driver for the AVR32 series USB Device Controller. Not hooked up as
FreeBSD does not yet support this platform but it makes it easier to stay in
sync.

Submitted by: Hans Petter Selasky


192552 21-May-2009 thompsa

Improve device mode (gadget) stall handling.

Some hardware easily comes out of sync with regard to whether the current or
the next control transfer should be stalled, if a stall command is always
issued before receiving the SETUP packet. After this patch the stall command
will only be issued when a transfer should actually be stalled.

Submitted by: Hans Petter Selasky


192511 21-May-2009 thompsa

Print out device attachment.


192502 21-May-2009 thompsa

Rename the usb sysctl tree from hw.usb2.* back to hw.usb.*.

Submitted by: Hans Petter Selasky


192500 21-May-2009 thompsa

Use enums for speed and rev data types.


192499 21-May-2009 thompsa

- rename usb2_mode to usb_mode [1]
- change variable types to use the enum

Submitted by: Hans Petter Selasky [1]


192468 20-May-2009 sam

Overhaul monitor mode handling:
o replace DLT_IEEE802_11 support in net80211 with DLT_IEEE802_11_RADIO
and remove explicit bpf support from wireless drivers; drivers now
use ieee80211_radiotap_attach to setup shared data structures that
hold the radiotap header for each packet tx/rx
o remove rx timestamp from the rx path; it was used only by the tdma support
for debugging and was mostly useless due to it being 32-bits and mostly
unavailable
o track DLT_IEEE80211_RADIO bpf attachments and maintain per-vap and
per-com state when there are active taps
o track the number of monitor mode vaps
o use bpf tap and monitor mode vap state to decide when to collect radiotap
state and dispatch frames; drivers no longer explicitly directly check
bpf state or use bpf calls to tap frames
o handle radiotap state updates on channel change in net80211; drivers
should not do this (unless they bypass net80211 which is almost always
a mistake)
o update various drivers to be more consistent/correct in handling radiotap
o update ral to include TSF in radiotap'd frames
o add promisc mode callback to wi

Reviewed by: cbzimmer, rpaulo, thompsa


192448 20-May-2009 thompsa

Use defines for register offsets that do not change.

Submitted by: Hans Petter Selasky


192446 20-May-2009 thompsa

- Add new register definitions
- Enable the controller and wait for the PLL to start

Submitted by: Hans Petter Selasky


192444 20-May-2009 thompsa

The register shift is not needed on this controller.

Submitted by: Hans Petter Selasky


192419 20-May-2009 weongyo

try to unsetup USB xfers before calling ieee80211_ifdetach() to fix a
bug referencing a destroyed lock within TX callbacks during device
detach.

Submitted by: hps (original version)
Tested by: Lucius Windschuh <lwindschuh at googlemail.com>


192258 17-May-2009 sam

add TRENDnet TEW-504UB/EU

Submitted by: Lucius Windschuh <lwindschuh@googlemail.com>


192257 17-May-2009 sam

fix 11a channel use; mark OFDM operation correctly

Submitted by: Lucius Windschuh <lwindschuh@googlemail.com>


192057 13-May-2009 thompsa

Ensure the bmRequestType is the right type for the incoming control request.

Submitted by: Hans Petter Selasky


192056 13-May-2009 thompsa

Add parenthesis around the xfer macro argument.

Submitted by: Hans Petter Selasky


192055 13-May-2009 thompsa

Make sure collections have the usage field set.

Submitted by: Hans Petter Selasky


192054 13-May-2009 thompsa

Check the correct variable for IO_NDELAY.

Submitted by: Hans Petter Selasky


192053 13-May-2009 thompsa

Add debug lines for fullspeed and highspeed xfer completion.

Submitted by: Hans Petter Selasky


192052 13-May-2009 thompsa

Sync to P4

Add umass quirks for Alcor AU6390, Cypress PATA 6830XX and MPMan MPF400.

Submitted by: Hans Petter Selasky


192051 13-May-2009 thompsa

The transfer must return USB_ERR_CANCELLED when the device is gone due to the
way usb drivers work.

Submitted by: Hans Petter Selasky


192006 12-May-2009 weongyo

Add WUSB54AG and XM142 entries for upgt(4)


191983 11-May-2009 weongyo

ports upgt(4) driver for USB2.


191892 07-May-2009 thompsa

Use a 32 bit type for the interface mask as this equals the max interface
count.


191870 07-May-2009 thompsa

Add the Sierra AC885U and increase the max ports to 8.


191869 07-May-2009 thompsa

- Fix the u3g port detection where it would not calculate the correct number of
ports when multiple interfaces are present.
- Claim all interfaces regardless of how many are attached


191868 07-May-2009 thompsa

Use vendor and product macro expansion to make the device table smaller and
more readable.


191826 05-May-2009 thompsa

Make sure the frame list base address is re-programmed after stopping the USB
schedule, in case the hardware clears the frame list base address.

Submitted by: Hans Petter Selasky
Reported by: Chao Shin


191825 05-May-2009 thompsa

Remove USB shutdown methods from device drivers as its the host controllers
responsibility to detach the bus.

PR: usb/133896
Submitted by: Hans Petter Selasky


191824 05-May-2009 thompsa

Revert part of r191494 which used the udev state to mark suspending, this needs
to be set via two variables (peer_suspended and self_suspended) and can not be
merged into one.

Submitted by: Hans Petter Selasky
Pointy hat: me


191746 02-May-2009 thompsa

Create a taskqueue for each wireless interface which provides a serialised
sleepable context for net80211 driver callbacks. This removes the need for USB
and firmware based drivers to roll their own code to defer the chip programming
for state changes, scan requests, channel changes and mcast/promisc updates.
When a driver callback completes the hardware state is now guaranteed to have
been updated and is in sync with net80211 layer.

This nukes around 1300 lines of code from the wireless device drivers making
them more readable and less race prone.

The net80211 layer has been updated as follows
- all state/channel changes are serialised on the taskqueue.
- ieee80211_new_state() always queues and can now be called from any context
- scanning runs from a single taskq function and executes to completion. driver
callbacks are synchronous so the channel, phy mode and rx filters are
guaranteed to be set in hardware before probe request frames are
transmitted.

Help and contributions from Sam Leffler.

Reviewed by: sam


191710 30-Apr-2009 thompsa

We need to ref the bss node when sending the beacon since it goes through the
normal tx path and will be decremented on the mbuf free.


191498 25-Apr-2009 thompsa

Make the state string descriptions public.


191494 25-Apr-2009 thompsa

Track the usb device state as its powered on, addressed and configured. This helps
to avoid touching the device when it is not going to respond and would otherwise
timeout.

Implement the suspend tracking as a udev state too.


191402 22-Apr-2009 thompsa

MFp4 //depot/projects/usb@160930

Change the roothub exec functions to take the usb request and data pointers
directly rather than placing them on the parent bus struct.

Submitted by: Hans Petter Selasky


191401 22-Apr-2009 thompsa

MFp4 //depot/projects/usb@160708

Need to check Read/Write allowed before writing any data for non-control
transfers.

Submitted by: Hans Petter Selasky


191400 22-Apr-2009 thompsa

MFp4 //depot/projects/usb@160706

Resolve possible device side mode deadlock by creating another thread.

Submitted by: Hans Petter Selasky


191399 22-Apr-2009 thompsa

MFp4 //depot/projects/usb@160678

Remove unused field.

Submitted by: Hans Petter Selasky


191398 22-Apr-2009 thompsa

MFp4 //depot/projects/usb@160655

Fix possible issue with clear-stall and set-config happening at the same time.

Submitted by: Hans Petter Selasky


191397 22-Apr-2009 thompsa

MFp4 //depot/projects/usb@160614

Fix errornous printout.

Submitted by: Hans Petter Selasky


191396 22-Apr-2009 thompsa

MFp4 //depot/projects/usb@160485

Fix a bug in the USB power daemon code where connection of multiple HUBs in
series would result in incorrect device suspend.

Reported by: Nicolas xxx@wanadoo.fr
Submitted by: Hans Petter Selasky


191395 22-Apr-2009 thompsa

MFp4 //depot/projects/usb@160413

Use direct reference to parent high-speed HUB instead of indirect, due to
pointer clearing race at detach of parent USB HUB.

Reported by: kientzle
Submitted by: Hans Petter Selasky
PR: usb/133545


191346 21-Apr-2009 takawata

Add another FTDI serial converter.


190878 10-Apr-2009 thompsa

Revert r190676,190677

The geom and CAM changes for root_hold are the wrong solution for USB design
quirks.

Requested by: scottl


190755 06-Apr-2009 thompsa

Remove usb_sw_transfer.[ch] which are now empty after r190735.


190754 06-Apr-2009 thompsa

Provide a better commit log for r190735, forced by making a whitespace change.

Refactor how we interface with the root HUB. This is achieved by making a
direct call from usb2_do_request to the host controller for root hub requests,
this call will perform the controller specific register read/writes and return
the error code.

This cuts out a lot of code in the host controller files and saves one thread
per USB bus.

Submitted by: Hans Petter Selasky


190749 05-Apr-2009 piso

Remove pointeless mergeinfo that crept in from r190633.


190744 05-Apr-2009 thompsa

Catch up with usb2_config struct layout changes.


190743 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@160056

Remove code for unused and unlikely quirk, "uq_power_claim"

Submitted by: Hans Petter Selasky


190742 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@160052

Wait until line configuration is complete before starting data transfers.

Submitted by: Hans Petter Selasky


190741 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159995

- add support for more complicated HID descriptors which can have multiple
definitions of the same field.
- remove old modulo patch in ums, which I think is due to bad HID parsing,
which should be fixed now.

Reported by: netchild
Submitted by: Hans Petter Selasky


190739 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159948

Add more debugging output on enumeration failures.

Submitted by: Hans Petter Selasky


190738 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159946

Some cancelable flags are always true. Substitute these away. These cancelable
flags were mostly useful with the root HUB which is now handled differently.

Submitted by: Hans Petter Selasky


190737 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159926

Minor code factorisation in atmegadci.c

Submitted by: Hans Petter Selasky


190736 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159925

Cast variables properly for non-32-bit platforms.

Submitted by: Hans Petter Selasky


190735 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159922

Refactor how we interface with the root HUB. This cuts around 1200 lines of
code totally and saves one thread per USB bus.

Submitted by: Hans Petter Selasky


190734 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159909

- make usb2_power_mask_t 16-bit
- remove "usb2_config_sub" structure from "usb2_config". To compensate for this
"usb2_config" has a new field called "usb_mode" which select for which mode
the current xfer entry is active. Options are: a) Device mode only b) Host
mode only (default-by-zero) c) Both modes. This change was scripted using
the following sed script: "s/\.mh\././g".
- the standard packet size table in "usb_transfer.c" is now a function, hence
the code for the function uses less memory than the table itself.

Submitted by: Hans Petter Selasky


190733 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159908

Reduce the amount of memory used by better sizing buffer arrays.

Submitted by: Hans Petter Selasky


190732 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159897

Add new endpoint direction values for use with usb2_config

Submitted by: Hans Petter Selasky


190731 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159871

- bugfixes after the memory usage reduction patch
- Use "udev->pipes_max" instead of USB_EP_MAX
- Use correct "bmRequestType" for getting the config descriptor.

Submitted by: Hans Petter Selasky


190730 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159866

- memory usage reduction by only allocating the required USB pipes and USB
interfaces.
- cleanup some USB parsing functions to be more flexible.

Submitted by: Hans Petter Selasky


190729 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159864

Fix possible deadlock with UGEN at detach.

Submitted by: Hans Petter Selasky


190728 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159863

Speed up the endpoint descriptor search

Submitted by: Hans Petter Selasky


190727 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159811

First patch in a series of memory save patches.

Submitted by: Hans Petter Selasky


190726 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159806

Properly name usb2_uref_location() so that it is not confused with
usb2_unref_location() .

Submitted by: Hans Petter Selasky


190725 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159797

Remove unused field in "struct usb2_pipe".

Submitted by: Hans Petter Selasky


190724 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159700

Get rid of the last CALLOUT_RETURNUNLOCKED reference.

Submitted by: Hans Petter Selasky


190723 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159677

Remove redundant locking.

Submitted by: Hans Petter Selasky


190722 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159674

Fix more corner cases around reception of SETUP packets.

Submitted by: Hans Petter Selasky


190721 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159673

Fix a corner case around stalling SETUP packets in device side mode.

Submitted by: Hans Petter Selasky


190720 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159671

Fix interrupt register setting on the atmegadci controller.

Submitted by: Hans Petter Selasky


190719 05-Apr-2009 thompsa

MFp4 //depot/projects/usb@159562

Reapply r190173 with compilation fixed on 64bit arches.

Submitted by: Hans Petter Selasky


190688 04-Apr-2009 weongyo

Add uath(4) wireless USB driver for Atheros AR5005UG and AR5005UX
chipsets.

Reviewed by: sam


190676 03-Apr-2009 thompsa

Add a how argument to root_mount_hold() so it can be passed NOWAIT and be called
in situations where sleeping isnt allowed.


190633 01-Apr-2009 piso

Implement an ipfw action to reassemble ip packets: reass.


190588 31-Mar-2009 kevlo

Add another rum(4) device found in
http://www.fit-pc.com/new/whats-new.html


190581 30-Mar-2009 mav

Integrate user/mav/ata branch:

Add ch_suspend/ch_resume methods for PCI controllers and implement them
for AHCI. Refactor AHCI channel initialization according to it.

Fix Port Multipliers operation. It is far from perfect yet, but works now.
Tested with JMicron JMB363 AHCI + SiI 3726 PMP pair.
Previous version was also tested with SiI 4726 PMP.

Hardware sponsored by: Vitsch Electronics / VEHosting.nl


190579 30-Mar-2009 sam

Hoist 802.11 encapsulation up into net80211:
o call ieee80211_encap in ieee80211_start so frames passed down to drivers
are already encapsulated
o remove ieee80211_encap calls in drivers
o fixup wi so it recreates the 802.3 head it requires from the 802.11
header contents
o move fast-frame aggregation from ath to net80211 (conditional on
IEEE80211_SUPPORT_SUPERG):
- aggregation is now done in ieee80211_start; it is enabled when the
packets/sec exceeds ieee80211_ffppsmin (net.wlan.ffppsmin) and frames
are held on a staging queue according to ieee80211_ffagemax
(net.wlan.ffagemax) to wait for a frame to combine with
- drivers must call back to age/flush the staging queue (ath does this
on tx done, at swba, and on rx according to the state of the tx queues
and/or the contents of the staging queue)
- remove fast-frame-related data structures from ath
- add ieee80211_ff_node_init and ieee80211_ff_node_cleanup to handle
per-node fast-frames state (we reuse 11n tx ampdu state)
o change ieee80211_encap calling convention to include an explicit vap
so frames coming through a WDS vap are recognized w/o setting M_WDS

With these changes any device able to tx/rx 3Kbyte+ frames can use fast-frames.

Reviewed by: thompsa, rpaulo, avatar, imp, sephe


190532 29-Mar-2009 sam

o add ic_rt to track the rate table for the current channel; this enables
calculation of packet transmit times to do things like check txop limits
o remove equivalent driver code and convert to use net80211 state


190526 29-Mar-2009 sam

Eliminate ic_myaddr so changing the mac address of a device works correctly:
o remove ic_myaddr from ieee80211com
o change ieee80211_ifattach to take the mac address of the physical device
and use that to setup the lladdr.
o replace all references to ic_myaddr in drivers by IF_LLADDR
o related cleanups (e.g. kill dead code)

PR: kern/133178
Reviewed by: thompsa, rpaulo


190471 27-Mar-2009 thompsa

The buffer start and end phys addresses should be 0x0 for an OHCI zero length
packet, this fixes LS/FS devices on the Gateworks 2348 XScale board.

Reviewed by: HPS


190328 23-Mar-2009 thompsa

Fix order of debug printf items, addr and config# were swapped.


190306 23-Mar-2009 kan

Do not pass uninitialized data buffer to devctl_queue_data function.
This was botched in revision 190191.


190269 22-Mar-2009 thompsa

Set the endpoint on the preallocated fifo so it doesnt get matched as an
endpoint fifo.

Reported by: Pieter de Goeje


190263 22-Mar-2009 imp

NO_INQUIRY is wrong for this device. Alternatively, if it is right,
it is right for only a tiny fraction of these devices and this
wild-card entry is too broad.

# I run a kernel without this entry at all without ill effects...


190238 22-Mar-2009 thompsa

Improve debugging output around ioctls.


190195 21-Mar-2009 thompsa

Revert r190173 as it breaks 64bit arches.


190191 20-Mar-2009 thompsa

Fix compile with USB_HAVE_BUSDMA/USB_HAVE_UGEN/USB_HAVE_STRINGS.

Submitted by: Hans Petter Selasky


190189 20-Mar-2009 thompsa

Add umass quirk.

PR: usb/132799
Reported by: Yoshihiro Ota
Submitted by: Hans Petter Selasky


190188 20-Mar-2009 thompsa

MFp4 //depot/projects/usb @159423, 159497

- Return a Zero Length packet on read errors.
- Allow for smaller buffer size.

Submitted by: Hans Petter Selasky


190187 20-Mar-2009 thompsa

MFp4 //depot/projects/usb@159446

Remove unused and depreciated function: usb2_get_devid().

Submitted by: Hans Petter Selasky


190186 20-Mar-2009 thompsa

MFp4 //depot/projects/usb@159517

Fix warnings with the IAR compiler.

Submitted by: Hans Petter Selasky


190185 20-Mar-2009 thompsa

MFp4 //depot/projects/usb

Sync usb_core.h after header changes.

Submitted by: Hans Petter Selasky


190184 20-Mar-2009 thompsa

MFp4 //depot/projects/usb @159479,159502,159516,159522,159529

Workaround for buggy USB hardware not handling new SETUP packet before STATUS
stage is complete, this allows xfers to endpoint0 to return a short frame.

Submitted by: Hans Petter Selasky
Reported by: me


190183 20-Mar-2009 thompsa

MFp4 //depot/projects/usb @159479,159502,159516,159522,159529

Workaround for buggy USB hardware not handling new SETUP packet before STATUS
stage is complete, this allows xfers to endpoint0 to return a short frame.

Submitted by: Hans Petter Selasky
Reported by: me


190181 20-Mar-2009 thompsa

MFp4 //depot/projects/usb @159431,159437,159438

- start using the new USB typedefs in the USB core
- Remove usage of USB_ADD_BYTES()

Submitted by: Hans Petter Selasky


190180 20-Mar-2009 thompsa

MFp4 //depot/projects/usb@159392

Add ifdefs for making parts of usb conditional.

Submitted by: Hans Petter Selasky


190174 20-Mar-2009 thompsa

MFp4 //depot/projects/usb @159430

- Move tunable defines into usb_core.h and dependancy towards usb_defs.h
- Leave hardcoded defines in "usb_defs.h".
- Allow overriding all tunable defines.
- Add more customisable typedefs.
- Correct maximum device number.

Submitted by: Hans Petter Selasky


190173 20-Mar-2009 thompsa

MFp4 //depot/projects/usb @159379,159380

Fixes for 8-bit and 16-bit compilation.

Submitted by: Hans Petter Selasky


190172 20-Mar-2009 thompsa

MFp4 //depot/projects/usb @159375,159376,159377

Further remove dependancy towards Giant.

Submitted by: Hans Petter Selasky


190102 19-Mar-2009 thompsa

Remove empty dirs.


190100 19-Mar-2009 thompsa

Remove the uscanner(4) driver, this follows the removal of the kernel scanner
driver in Linux 2.6. uscanner was just a simple wrapper around a fifo and
contained no logic, the default interface is now libusb (supported by sane).

Reviewed by: HPS


190089 19-Mar-2009 garga

- Add Sun Type 7 keyboard
- Rename Type 6 entry (following NetBSD)
- Add Sun Type 7 Keyboard USB Hub

PR: usb/132811
Reviewed by: thompsa
Approved by: thompsa


189906 17-Mar-2009 thompsa

MFp4 //depot/projects/usb 159225,159241,159292

Fix regression issue in the USB file system interface.
- Use cdev_privdata pointer as indicator of correct file handle.
- Remove redundant FIFO opened flags.

Don't send ZLP at close for ulpt and uscanner devices as this causes some
models to stop working. This reverts back to the USB1 behaviour.

Submitted by: Hans Petter Selasky


189905 17-Mar-2009 thompsa

MFp4 //depot/projects/usb 159238,159275

Add umass quirks.

Submitted by: Michael Gmelin


189904 17-Mar-2009 thompsa

Add Supertop IDE adapter and Quickcam entries.


189776 13-Mar-2009 thompsa

HID usage minimum can be equal to the maximum.

Submitted by: Hans Petter Selasky
Tested by: Andreas Tobler


189718 12-Mar-2009 thompsa

MFp4 //depot/projects/usb 159004,159053,159091

More HID parsing fixes for usb mice.
- be less strict on the last HID item usage.
- preserve item size and count accross items
- improve default HID usage selection.

Tested by: ache
Submitted by: Hans Petter Selasky


189699 11-Mar-2009 dfr

Merge in support for Xen HVM on amd64 architecture.


189677 11-Mar-2009 thompsa

MFp4 //depot/projects/usb 158981,159016,159024

Sync support for ATMEGA DCI parts.

Submitted by: Hans Petter Selasky


189676 11-Mar-2009 thompsa

Fix a possible NULL pointer access at controller attach.

Submitted by: Hans Petter Selasky


189646 10-Mar-2009 thompsa

Make sure HID has a default usage, this fixes recent mouse problems.

Tested by: Renato Botelho
Tested by: beech (earlier version)
Submitted by: Hans Petter Selasky


189599 09-Mar-2009 thompsa

MFp4 //depot/projects/usb 158942,158948

Allow USB to be compiled without ugen support.

Submitted by: Hans Petter Selasky


189598 09-Mar-2009 thompsa

Fix musb_otg.h include filename.

Submitted by: Hans Petter Selasky


189583 09-Mar-2009 thompsa

MFp4 //depot/projects/usb@158916

USB mouse patch to address complicated data reporting descriptors.

Reported by: Boris Kotzev
Submitted by: Hans Petter Selasky


189575 09-Mar-2009 imp

remove now-redunant cardbus attachment.


189547 08-Mar-2009 thompsa

MFp4 //depot/projects/usb@158868

Fix bugs and improve HID parsing.
- fix possible memory leak found
- fix possible NULL pointer access
- fix possible invalid memory read
- parsing improvements
- reset item data position when a new report ID is detected.

Submitted by: Hans Petter Selasky


189546 08-Mar-2009 thompsa

MFp4 //depot/projects/usb@158869

Fix sael init code.

Reported by: Alberto Mijares
Submitted by: Hans Petter Selasky


189528 08-Mar-2009 thompsa

Move m_getcl() into its own function. This also fixes a bug where the m_adj for
ETHER_ALIGN was having no effect since m_len had not been set.


189522 08-Mar-2009 thompsa

Fix endian conversion from htole16 to htole32.

Tested with: ARM xscale


189496 07-Mar-2009 thompsa

(re)merge r186415,186416 from the old usb stack;

o add Transaction Translator support (still missing ISOC xfers)
o add EHCI_SCFLG_BIGEMMIO flag to force big-endian byte-select to be
set in USBMODE
o split reset work into new public routine ehci_reset so bus shim drivers
can force big-endian byte-select before ehci_init
o enable TT and big-endian MMIO
o force a reset before ehci_init to get byte-select setup

Also go back to using USB_EHCI_BIG_ENDIAN_DESC at compile time to enable the
byteswapping and reduce diffs to the original commits.

This fixes the new USB stack on the Cambria board.


189491 07-Mar-2009 thompsa

Fix some missed htole32 conversions to htoehci32.

Reviewed by: hps


189453 06-Mar-2009 thompsa

MFp4 //depot/projects/usb@158692

Workaround a EHCI performance problem by issuing a doorbell after queueing a
bulk xfer.

Submitted by: Hans Petter Selasky


189452 06-Mar-2009 thompsa

Ensure the cached rq pointer is still valid before waking up the address, the
zyd_cmd function may have timed out. It wouldnt cause a panic but could wakeup
someone.

Spotted by: HPS


189449 06-Mar-2009 joerg

Add a couple of more things to the FTDI driver I came across:

. Dresden Elektronik "Wireless Handheld Terminal"
. Atmel STK541 "Zigbee Controller"

MFC after: 1 week


189422 05-Mar-2009 thompsa

Fix usb2_poll not to return an error number as the function return value is a
bitmask of events.

Pointed out by: HPS


189405 05-Mar-2009 thompsa

Add support for the UNION interface descriptor, used by Nokia phones.

PR: usb/117185


189360 04-Mar-2009 thompsa

Add Mobile Action MA-620 Infrared Adapter.

PR: usb/125072
Submitted by: Alexander Logvinov
MFC after: 1 week


189275 02-Mar-2009 thompsa

Rename the ushub device class back to uhub as it was in the old usb stack,
moused(8) looks for "uhub/ums" to decide if needs to load the module.

Reported by: Garrett Cooper


189265 02-Mar-2009 thompsa

Move the serial drivers from Giant to using their own mutexs.

Tested with: u3g, ubser, uplcom


189173 28-Feb-2009 thompsa

A couple of style nits in the last commit
- unwrap short lines
- move variable initialisation out of the declaration.


189172 28-Feb-2009 thompsa

- Remove the usb interface number from the device nodes as it is not needed.
- Do not recreate the device nodes in set_alt_interface as the endpoints do not
change.

Submitted by: Hans Petter Selasky


189125 27-Feb-2009 thompsa

Change the last references to PRIV_ROOT. /dev/usb used to be world writable so
further root checks were needed, this isnt the case anymore but just change it
to PRIV_DRIVER until it can be investigated later.

Spotted by: rwatson


189124 27-Feb-2009 thompsa

Remove ic_update_mcast calls that are not implemented.

Spotted by: sam
Pointy hat: me


189123 27-Feb-2009 thompsa

Partial sync to //depot/projects/usb

- Reissue the ctrl request on failure
- Ensure Tx and ctrl requests are not interleaved
- Add promisc callbacks

Obtained from: Hans Petter Selasky


189110 27-Feb-2009 thompsa

Change USB over to make_dev() for all device nodes, previously it hooked into
the devfs clone handler to open the (invisible) devices on the fly.

The /dev entries are layed out as follows,

/dev/usbctl = master device
/dev/usb/0.1.0.5 = usb device, (<bus>.<dev>.<iface>.<endpoint>)
/dev/ugen0.1 -> usb/0.1.0.0 = ugen link to ctrl endpoint

This also removes the custom permissions model from USB. Bump
__FreeBSD_version to 800066.

Submitted by: rink (earlier version)


189002 24-Feb-2009 ed

Also use proper capitalisation of FreeBSD in other source files.

Approved by: thompsa


189001 24-Feb-2009 ed

Use my address of the FreeBSD project in the copyright statement in USB2.

If I remember correctly, our policy was to use FreeBSD with proper
capitalisation in our email addresses. Fix this in Nick Hibma's address
as well.


188989 24-Feb-2009 thompsa

MFp4 //depot/projects/usb@158015

Add support for the Sael M460 3G modem.

Submitted by: Hans Petter Selasky


188988 24-Feb-2009 thompsa

Fix compiler warning.


188987 24-Feb-2009 thompsa

MFp4 //depot/projects/usb@157974

Add support for setting and getting the USB template value through libusb20 and
usbconfig.

Submitted by: Hans Petter Selasky


188986 24-Feb-2009 thompsa

MFp4 //depot/projects/usb@157958

- We don't need to exit the Giant mutex when sleeping. This is done
automatically. Replace Giant by NULL mutex for all control requests in the
enumeration path.
- Optimise away duplicate alternate interface selection requests in USB Host
mode.

Submitted by: Hans Petter Selasky


188985 24-Feb-2009 thompsa

MFp4 //depot/projects/usb@157909

Changes to make implementing USB NDIS easier.

Submitted by: Hans Petter Selasky


188983 24-Feb-2009 thompsa

MFp4 //depot/projects/usb@157853

Clean up old way of polling the USB hardware. The existing polling support was
a bit hackish.

Submitted by: Hans Petter Selasky


188982 24-Feb-2009 thompsa

MFp4 //depot/projects/usb@157847

Improvements to "usb2_transfer_setup()" and "usb2_transfer_unsetup()". Set
"ppxfer[n]" when the transfer setup is complete to prevent races. Remove
redundant NULL-checks from "usb2_transfer_unsetup()".

Submitted by: Hans Petter Selasky


188981 24-Feb-2009 thompsa

MFp4 //depot/projects/usb; 157814, 157863, 157868

- The software computed HID size is not always correct, because the algoritm
does not handle unsorted HID descriptors.
- Change the way we obtain the report ID.
- Use the X/Y/Z+button locations instead for report ID source for ums.
- Add more range checks.
- Remove Microsoft Mouse quirks. If the positions are moduloed the report
length multiplied by 8, the values seem correct.
- Some minor style changes.

Submitted by: Hans Petter Selasky


188969 23-Feb-2009 thompsa

Make sure at least two tx slots are free before sending the mbuf since an
additional frame may be sent for 80211 protection.


188957 23-Feb-2009 thompsa

Move the uaudio and ata-usb drivers into their correct locations.


188947 23-Feb-2009 thompsa

Reintroduce r188878, provide compat typedefs for usb1.


188942 23-Feb-2009 thompsa

Move the new USB stack into its new home.