qd65xx: fix setup of QD6580 Control register
Control register of QD6580 should be setup before probing for devices. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
@@ -444,6 +444,8 @@ static int __init qd_probe(int base)
|
|||||||
printk(KERN_DEBUG "qd6580: config=%#x, control=%#x, ID3=%u\n",
|
printk(KERN_DEBUG "qd6580: config=%#x, control=%#x, ID3=%u\n",
|
||||||
config, control, QD_ID3);
|
config, control, QD_ID3);
|
||||||
|
|
||||||
|
outb(QD_DEF_CONTR, QD_CONTROL_PORT);
|
||||||
|
|
||||||
if (control & QD_CONTR_SEC_DISABLED) {
|
if (control & QD_CONTR_SEC_DISABLED) {
|
||||||
/* secondary disabled */
|
/* secondary disabled */
|
||||||
|
|
||||||
@@ -460,8 +462,6 @@ static int __init qd_probe(int base)
|
|||||||
|
|
||||||
ide_device_add(idx, &qd65xx_port_info);
|
ide_device_add(idx, &qd65xx_port_info);
|
||||||
|
|
||||||
outb(QD_DEF_CONTR, QD_CONTROL_PORT);
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
ide_hwif_t *mate;
|
ide_hwif_t *mate;
|
||||||
@@ -487,8 +487,6 @@ static int __init qd_probe(int base)
|
|||||||
|
|
||||||
ide_device_add(idx, &qd65xx_port_info);
|
ide_device_add(idx, &qd65xx_port_info);
|
||||||
|
|
||||||
outb(QD_DEF_CONTR, QD_CONTROL_PORT);
|
|
||||||
|
|
||||||
return 0; /* no other qd65xx possible */
|
return 0; /* no other qd65xx possible */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user