Re: [PATCH] Correct some mistakes in drivers using the scsi hotplug model

James Bottomley
2007-07-31T15:05:53Z

On Tue, 2007-07-31 at 15:57 +0100, Christoph Hellwig wrote:
> On Tue, Jul 31, 2007 at 08:52:28AM -0600, Matthew Wilcox wrote:
> > On Tue, Jul 31, 2007 at 09:42:25AM -0500, James Bottomley wrote:
> > > Rather than changing this in every 53c700 based driver, shouldn't it
> > > just be added to NCR_700_release()?
> >
> > Then I'd have to change the few drivers that weren't leaking scsi_hosts
> > ;-) But I can, if that's what you prefer.
>
> I don't think it's a good idea. scsi_hhost_put should be the very
> last thing in the release method and all the drivers do some kind
> of cleanup after detaching from the generic ncr53c00 driver.

I agree the NCR_700_release should be the last method called. However,
the NCR_700_detect() API calls scsi_host_alloc/scsi_add_host() ... the
API will be horribly assymetric (and thus prone to misuse) with regard
to the host lifetime management if the NCR_700_release() method doesn't
tidy up the host.

I can go either way, but either the alloc/add has to come out of the
detect method or the put has to go into the release method.

James