libata used to claim only cmd ports for legacy SFF ports. Claim ctl
ports too.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
---
This has been this way as long as I can remember. It's almost
pleasant to see that it survived through all the devres/init rework.
I guess it's time for a change.
drivers/ata/libata-sff.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c
index e35d134..99a9f98 100644
--- a/drivers/ata/libata-sff.c
+++ b/drivers/ata/libata-sff.c
@@ -712,6 +712,7 @@ int ata_pci_prepare_native_host(struct pci_dev *pdev,
struct ata_legacy_devres {
unsigned int mask;
unsigned long cmd_port[2];
+ unsigned long ctl_port[2];
void __iomem * cmd_addr[2];
void __iomem * ctl_addr[2];
unsigned int irq[2];
@@ -764,12 +765,16 @@ static int ata_init_legacy_port(struct ata_port *ap,
ctl_port = ATA_SECONDARY_CTL;
}
- /* request cmd_port */
+ /* request cmd and ctl port */
if (request_region(cmd_port, 8, "libata"))
legacy_dr->cmd_port[port_no] = cmd_port;
- else {
+
+ if (request_region(ctl_port, 8, "libata"))
+ legacy_dr->ctl_port[port_no] = ctl_port;
+
+ if (!legacy_dr->cmd_port[port_no] || !legacy_dr->ctl_port[port_no]) {
dev_printk(KERN_WARNING, host->dev,
- "0x%0lX IDE port busy\n", cmd_port);
+ "0x%0lX/0x%0lX IDE port busy\n", cmd_port, ctl_port);
return -EBUSY;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html