> > Open process: Disconnect process: > > > > Get minor number from inode > > Lookup USB interface using > > minor number > > Get device pointer from the > > interface's private data > > and check it's not NULL > > This is what's wrong. Here you should get a reference to the device > pointer (that's what scsi_device_get() actually does for us). If the > ref getting routine comes back with an error, you may not proceed. If > it comes back with a device, you own a reference to it and may go on > (even if the device is now gone, the structure will behave correctly).
You are correct, if and only if the code doing the lookup and getting the reference is atomic with respect to freeing the data structure. Which lock is supposed to assure that? Regards Oliver ------------------------------------------------------- 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