During startup I see that udev loads the module 3 times, the apropriate dmesg entries are : 22 /var/log # dmesg | grep -i uhci_hcd uhci_hcd 0000:00:1d.0: UHCI Host Controller uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1 uhci_hcd 0000:00:1d.0: irq 11, io base 0x00001800 uhci_hcd 0000:00:1d.1: UHCI Host Controller uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 2 uhci_hcd 0000:00:1d.1: irq 11, io base 0x00001820 uhci_hcd 0000:00:1d.2: UHCI Host Controller uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 3 uhci_hcd 0000:00:1d.2: irq 11, io base 0x00001840 usb 2-2: new low speed USB device using uhci_hcd and address 2 usb 3-1: new full speed USB device using uhci_hcd and address 2 usb 2-2: new low speed USB device using uhci_hcd and address 3 usb 3-1: new full speed USB device using uhci_hcd and address 3 Shouldn't it be enough to load the module only once ? Reproducible: Always n22 /var/log # emerge --info Portage 2.1.2-r9 (default-linux/x86/2006.1, gcc-3.4.6, glibc-2.5-r0, 2.6.19-gentoo-r5 i686) ================================================================= System uname: 2.6.19-gentoo-r5 i686 Intel(R) Pentium(R) M processor 1700MHz Gentoo Base System release 1.12.9 Timestamp of tree: Mon, 26 Feb 2007 08:20:01 +0000 ccache version 2.4 [enabled] dev-java/java-config: 1.3.7, 2.0.31 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r6 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.14 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium-m -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -march=pentium-m -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict" GENTOO_MIRRORS="http://pandemonium.tiscali.de/pub/gentoo/ http://85.25.128.62 http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/" LINGUAS="de en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="X aac acpi alsa apache2 arts asf berkdb bitmap-fonts bluetooth bzip2 cairo cddb clamav cli cracklib crypt css cups dri dvd dvdr dvdread dynamicplugin exif fam fastbuild fortran gd gdbm gif gpm gtk gtk2 hdaps i8x0 iconv ipv6 isdnlog jai java javascript jimi jpeg libg++ logrotate madwifi mbox midi mikmod mmx mmxext mp3 mp4 mysql ncurses nls nptl nptlonly nsplugin opengl pam pcre pdf perl png ppds pppd python readline real reflection rtc samba session spl sse sse2 ssl subversion svg tcpd tiff truetype truetype-fonts type1-fonts unicode userlocales win32codecs x86 xml xorg xpm zlib" ALSA_CARDS="intel8x0 intel8x0m" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse joystick evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de en" USERLAND="GNU" VIDEO_CARDS="vga radeon" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
First: Yes, for every usb-controller function of your chipset uhci_hcd is tried to load. This is no error. Normally udev should only print the first try (but if all modprobe-calls are nearly at the same moment it could be that msg is printed multiple times). uhci_hcd is then loaded only once! See at lsmod. dmesg only shows that you have more usb-controller functions on the chipset.