Date: Wed, 31 Mar 2004 09:32:11 -0700 (MST) From: "M. Warner Losh" <imp@bsdimp.com> To: boris@brooknet.com.au Cc: freebsd-hackers@freebsd.org Subject: Re: usbd config file parse behaviour Message-ID: <20040331.093211.102577197.imp@bsdimp.com> In-Reply-To: <39883.134.148.20.33.1080706267.squirrel@134.148.20.33> References: <20040330.014632.132641792.imp@bsdimp.com> <20040330090601.GE32646@cicely12.cicely.de> <39883.134.148.20.33.1080706267.squirrel@134.148.20.33>
next in thread | previous in thread | raw e-mail | index | archive | help
: I agree that it's bad to yank a device from under ugen automatically and : reattach it to a better match. I think it is good. Really. However, ugen should mark the device busy when it is opened, and mark it as unbusy as closed and the reprobe shouldn't happen if the device is busy. Otherwise, there's no harm. ugen2 goes away, who cares. ugen0, ugen1, and ugen3 would still be there. However, if a device is in use, the probe routines of other divices may interfere. Part of the problem is we can't tell a driver 'detach if you aren't busy' vs 'detach now, your hardware is gone or about to be gone'. Maybe we should fix that at the same time. There's also a desire from the hot-plug bus people to have a 'quiesce' the device, which is similar to the current suspend method, but with different semantics (quiesce means stop using the hardware, while suspend says put the hardware to sleep). : How about adding a new ioctl on /dev/usb, eg USB_REPROBE to reset a device : if a better match exists? I don't want this to be USB specific. usb has enough kludgy hacks. That's why we're in this mess. If we do something like this, then we should do it for all devices on all busses. : Could tack an option on to usbdevs to call it on requested devices. Absolutely not. We want uniform behavior. It would be a nightmare to manage a huge table in the kernel with exceptions. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040331.093211.102577197.imp>