diff options
author | Akinobu Mita <akinobu.mita@gmail.com> | 2015-01-29 08:30:30 +0900 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2015-01-28 18:45:23 -0500 |
commit | 17263905399471016cda6c1975044d14291c5ba5 (patch) | |
tree | 4ba57184e91e25a23d63519930fd0154e0c8dd2a /include/linux/ata_platform.h | |
parent | 018d5ef2048fcab339467bcbebccf588c9bd2531 (diff) | |
download | op-kernel-dev-17263905399471016cda6c1975044d14291c5ba5.zip op-kernel-dev-17263905399471016cda6c1975044d14291c5ba5.tar.gz |
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
Diffstat (limited to 'include/linux/ata_platform.h')
-rw-r--r-- | include/linux/ata_platform.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/ata_platform.h b/include/linux/ata_platform.h index 5c618a0..619d9e7 100644 --- a/include/linux/ata_platform.h +++ b/include/linux/ata_platform.h @@ -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 |