Alan Stern [[EMAIL PROTECTED]] wrote: > On Fri, 24 Jan 2003, Luben Tuikov wrote: > > > >>A LLDD should and must *not* call scsi_unregister_host(). This brakes > > >>all hierarchy. > > > > > > > What I probably meant is the detect()/release() pair; release() itself > > normally calls scsi_unregister(host); the point is that it got nudged > > from ``above'', i.e. SCSI Core. > > > > How can a LLDD be certain that it can safely call scsi_unregister_host() > > whenever it wishes? As Doug pointed out this leads to problems. > > Apparently it can't. I don't mean to say that this was the right thing to > do; I just meant that this is what Matt's currently-proposed patch does. > Personally, I'm not very familiar with the details of the SCSI subsystem, > and I don't know what preconditions are required for calling the various > API's. > > > Furhtermore, are we talking about scsi_unregister_host() or > > scsi_unregister(host)? The former does drivers and the latter > > does hosts. This would mean that my original statement was > > nevertheless correct, how can a LLDD decide to unload itself safely? > > I did indeed type it wrong. The code first calls scsi_remove_host(host) > and then it calls scsi_unregister(host). >
I probably should have looked at Matt's patch closer, sorry. If a LLDD is going to be using scsi_add_host and scsi_remove_host the driver should not use scsi_register_host / scsi_unregister_host. If the driver is updated to the sysfs driver model then: 1.) The drivers probe routine should call into the scsi mid with. scsi_register(...); scsi_add_host(...); 2.) The drivers remove routine should call into the scsi mid with. scsi_remove_host(...); scsi_unregister(...); (scsi_remove_host is part of this current discussion). The event that calls probe / remove is the device_register / device_unregister of the the adapter device. The LLDD's device_initcall / module_exit routines will call driver_register and driver_unregister to cause device to driver binding. Which will cause probe / remove to be called. -andmike -- Michael Anderson [EMAIL PROTECTED] ------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel