diff options
Diffstat (limited to 'drivers/ide/ide-probe.c')
| -rw-r--r-- | drivers/ide/ide-probe.c | 10 | 
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)  	int i, rc = 0;  	for (i = 0; i < MAX_HWIFS; i++) { -		if (d == NULL || idx[i] == 0xff) { +		if (idx[i] == 0xff) {  			mate = NULL;  			continue;  		}  		hwif = &ide_hwifs[idx[i]]; +		ide_port_apply_params(hwif); + +		if (d == NULL) { +			mate = NULL; +			continue; +		} +  		if (d->chipset != ide_etrax100 && (i & 1) && mate) {  			hwif->mate = mate;  			mate->mate = hwif; @@ -1621,6 +1628,7 @@ EXPORT_SYMBOL_GPL(ide_device_add);  void ide_port_scan(ide_hwif_t *hwif)  { +	ide_port_apply_params(hwif);  	ide_port_cable_detect(hwif);  	ide_port_init_devices(hwif); | 
