Re: [PATCH v2 0/3] scsi: ufs & ums-*: fix module reference counting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 7 Jan 2015, Christoph Hellwig wrote:

> On Wed, Jan 07, 2015 at 11:02:59PM +0900, Akinobu Mita wrote:
> > While accessing a scsi_device, the use count of the underlying LLDD module
> > is incremented.  The module reference is retrieved through .module field of
> > struct scsi_host_template.
> > 
> > This mapping between scsi_device and underlying LLDD module works well
> > except some scsi drivers (ufs and unusual usb storage drivers).  These
> > drivers consist with core driver and actual LLDDs, and scsi_host_template
> > is defined in the core driver.  So the actual LLDDs can be unloaded even if
> > the scsi_device is being accessed.
> 
> Why don't ufs and usb-storage define the host templates in the sub drivers?
> That's what libata or the mpt fusion driver do.

Originally the subdrivers were all part of usb-storage.  When they were
split out into separate modules, there didn't seem to be any need to
copy the host template into each one.  (Especially since some of the
method pointers in the host template refer to routines in usb-storage
itself, not in the subdrivers.)  The fact that the .module member was
no longer adequate escaped our notice at the time.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux