mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 08:03:01 +09:00
ata: pata_platform: fix owner module reference mismatch for scsi host
The owner module reference of the pata_of_platform's scsi_host is initialized to pata_platform's one, because pata_of_platform driver use a scsi_host_template defined in pata_platform. So this drivers can be unloaded even if the scsi device is being accessed. This fixes it by propagating the scsi_host_template to pata_of_platform driver. The scsi_host_template is passed through a new argument of __pata_platform_probe(). Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Christoph Hellwig <hch@lst.de> Cc: "James E.J. Bottomley" <JBottomley@parallels.com> Cc: linux-ide@vger.kernel.org Cc: linux-scsi@vger.kernel.org
This commit is contained in:
@@ -10,12 +10,15 @@ struct pata_platform_info {
|
||||
unsigned int ioport_shift;
|
||||
};
|
||||
|
||||
struct scsi_host_template;
|
||||
|
||||
extern int __pata_platform_probe(struct device *dev,
|
||||
struct resource *io_res,
|
||||
struct resource *ctl_res,
|
||||
struct resource *irq_res,
|
||||
unsigned int ioport_shift,
|
||||
int __pio_mask);
|
||||
int __pio_mask,
|
||||
struct scsi_host_template *sht);
|
||||
|
||||
/*
|
||||
* Marvell SATA private data
|
||||
|
||||
Reference in New Issue
Block a user