Hello
I have a CardBus device that embeds a NEC USB 2.0 host controller.
It's a multi-function PCI device with 3 PCI functions (2x OHCI, 1x
EHCI).
I plug it in a laptop installed with WinVista RTM 32-bit (Build 6000).
The safe-removal tray shows the 3 host controllers part of the USB 2.0
host controller. Now when I safely remove one of them, they all
disappear from the safe-removal tray. However, in the device manager
things look painful: all Root Hub child devices are gone, the host I
safely removed has an exclamation mark, but the two other hosts remain
enabled (without their Root Hubs that is). To make things worse, I
disabled and re-enanled one of the enabled hosts and guess what it
could enumerate USB devices again; the host even popped up in the safe-
removal tray again.
I got myself a CardBus device with an embedded NXP ISP-1364 and tried
the same. Vista did it wrong again.
Safe removal works fine in Win2K and WinXP; all hosts are stopped.
Vista's behaviour is similar to Win98.
This is really sad for customers. When a customer safely removes the
device, part of the device is still active. When the customer yanks
out the device, Vista may still crash because one or two USB hosts are
active (Note: all Windows versions will crash sooner or later when you
unplug an active USB host controller).