aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-10-30 06:41:29 -0500
committerJeff Garzik <jgarzik@pobox.com>2005-10-30 06:41:29 -0500
commit0f0d5192696eeb3072944a4a813809cc2c85891a (patch)
treeae7234824d8403e1cb430db6ba0adb1b5c816fba /drivers/scsi
parenta7dac447bb9cef27d4d29cdf63e2d7809c50b1f4 (diff)
[libata] fix legacy IDE probing
ata_pci_init_one() receives an array of struct ata_port_info. Recent updates to the code had always obtained port information from array element 0, rather than array element N. Change to avoid hardcoding port_info[0], thereby restoring proper hardware information to secondary legacy ports.
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/libata-core.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index cc089f1fb114..8be7dc0b47b8 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -4527,11 +4527,11 @@ ata_pci_init_native_mode(struct pci_dev *pdev, struct ata_port_info **port, int
4527 return probe_ent; 4527 return probe_ent;
4528} 4528}
4529 4529
4530static struct ata_probe_ent *ata_pci_init_legacy_port(struct pci_dev *pdev, struct ata_port_info **port, int port_num) 4530static struct ata_probe_ent *ata_pci_init_legacy_port(struct pci_dev *pdev, struct ata_port_info *port, int port_num)
4531{ 4531{
4532 struct ata_probe_ent *probe_ent; 4532 struct ata_probe_ent *probe_ent;
4533 4533
4534 probe_ent = ata_probe_ent_alloc(pci_dev_to_dev(pdev), port[0]); 4534 probe_ent = ata_probe_ent_alloc(pci_dev_to_dev(pdev), port);
4535 if (!probe_ent) 4535 if (!probe_ent)
4536 return NULL; 4536 return NULL;
4537 4537
@@ -4678,9 +4678,9 @@ int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info,
4678 4678
4679 if (legacy_mode) { 4679 if (legacy_mode) {
4680 if (legacy_mode & (1 << 0)) 4680 if (legacy_mode & (1 << 0))
4681 probe_ent = ata_pci_init_legacy_port(pdev, port, 0); 4681 probe_ent = ata_pci_init_legacy_port(pdev, port[0], 0);
4682 if (legacy_mode & (1 << 1)) 4682 if (legacy_mode & (1 << 1))
4683 probe_ent2 = ata_pci_init_legacy_port(pdev, port, 1); 4683 probe_ent2 = ata_pci_init_legacy_port(pdev, port[1], 1);
4684 } else { 4684 } else {
4685 if (n_ports == 2) 4685 if (n_ports == 2)
4686 probe_ent = ata_pci_init_native_mode(pdev, port, ATA_PORT_PRIMARY | ATA_PORT_SECONDARY); 4686 probe_ent = ata_pci_init_native_mode(pdev, port, ATA_PORT_PRIMARY | ATA_PORT_SECONDARY);