On Thu, Feb 16, 2006 at 10:14:31AM -0800, James Bottomley wrote: > On Thu, 2006-02-16 at 18:09 +0000, Russell King wrote: > > where scsi_release() is the function called by the device model on the > > last put of a scsi device. > > > > I guess is more or less what you're trying to do invasively via the > > driver model. > > Yes ... except I think more than just SCSI has the problem (and we > actually have it in more than one release function) so it seems like a > good candidate for a general abstraction. Maybe implementing it as a helper function would be the best and simplest solution? static void scsi_release(struct device *dev) { schedule_release_process(dev, scsi_release_process); } where schedule_release_process() contains more or less what I posted in the previous mailing. -- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: 2.6 Serial core - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html