On Thu, 8 Apr 2004, Matt Gulick wrote: > OK, Silly question or maybe not. > > When writing drivers for MacOS ( 7-9 & X) and Windose (98 - XP) and when > I architected the USB 2.0 stack at Adaptec for 98SE, ME & 2k, we solved > this issue with a simple heart beat task. > > Every so often (1-3 seconds) any device that was at risk of removal > would receive a TEST UNIT READY cdb. > > Using the model of 1394, USB, ... being treated as a device with no > media inserted (like a CD drive is treated), then you can query the > device for media availability. > > Using the USB model of 7 tiers of devices and most hubs having 4 ports > (7 port hubs are just two 4 port hubs internally connected) you can have > way more than 15 SCSI ID's. By treating each USB as having its own ID > (EHCI USB chips typically have three USB identities of 1 EHCI and 2 OHCI > interfaces) and the devices on that bus that are mass storage class > devices using SBP-2 or SBP-3 would be a LUN on that device. > > By treating each bus as a virtual device, the main struct can be static > with LUN children added or removed as needed. > > Any thoughts on this? > > Matt
I think you're talking about a different problem. Sending heartbeats solves the problem of detecting media availability and device availability. It doesn't solve the problem we're discussing here, which is how to tear down the device driver stack without causing any errors, particularly if the user tries to access the device while the stack is being deconstructed. Alan Stern ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel