aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-probe.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/ide-probe.c')
-rw-r--r--drivers/ide/ide-probe.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c
index a4b65b321f51..4a33100a2314 100644
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
@@ -1518,13 +1518,20 @@ int ide_device_add_all(u8 *idx, const struct ide_port_info *d)
1518 int i, rc = 0; 1518 int i, rc = 0;
1519 1519
1520 for (i = 0; i < MAX_HWIFS; i++) { 1520 for (i = 0; i < MAX_HWIFS; i++) {
1521 if (d == NULL || idx[i] == 0xff) { 1521 if (idx[i] == 0xff) {
1522 mate = NULL; 1522 mate = NULL;
1523 continue; 1523 continue;
1524 } 1524 }
1525 1525
1526 hwif = &ide_hwifs[idx[i]]; 1526 hwif = &ide_hwifs[idx[i]];
1527 1527
1528 ide_port_apply_params(hwif);
1529
1530 if (d == NULL) {
1531 mate = NULL;
1532 continue;
1533 }
1534
1528 if (d->chipset != ide_etrax100 && (i & 1) && mate) { 1535 if (d->chipset != ide_etrax100 && (i & 1) && mate) {
1529 hwif->mate = mate; 1536 hwif->mate = mate;
1530 mate->mate = hwif; 1537 mate->mate = hwif;
@@ -1621,6 +1628,7 @@ EXPORT_SYMBOL_GPL(ide_device_add);
1621 1628
1622void ide_port_scan(ide_hwif_t *hwif) 1629void ide_port_scan(ide_hwif_t *hwif)
1623{ 1630{
1631 ide_port_apply_params(hwif);
1624 ide_port_cable_detect(hwif); 1632 ide_port_cable_detect(hwif);
1625 ide_port_init_devices(hwif); 1633 ide_port_init_devices(hwif);
1626 1634