mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00: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:
parent
018d5ef204
commit
1726390539
3 changed files with 17 additions and 6 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue