Check the Disk FUNCE recorded in the CIS to see if we should probe for
both disks, or if we should suppress the slave drive. Default to suppressing the slave, in the case that this REQIURED tuple turns out to not actually be present...
This commit is contained in:
parent
c200745111
commit
e114ded794
@ -90,6 +90,7 @@ ata_pccard_attach(device_t dev)
|
||||
struct ata_channel *ch = device_get_softc(dev);
|
||||
struct resource *io, *ctlio;
|
||||
int i, rid, err;
|
||||
uint16_t funce;
|
||||
|
||||
if (ch->attached)
|
||||
return (0);
|
||||
@ -132,7 +133,11 @@ ata_pccard_attach(device_t dev)
|
||||
|
||||
/* initialize softc for this channel */
|
||||
ch->unit = 0;
|
||||
ch->flags |= (ATA_USE_16BIT | ATA_NO_SLAVE);
|
||||
ch->flags |= ATA_USE_16BIT;
|
||||
funce = 0; /* Default to sane setting of FUNCE */
|
||||
pccard_get_funce_disk(dev, &funce);
|
||||
if (!(funce & PFD_I_D))
|
||||
ch-> flags |= ATA_NO_SLAVE;
|
||||
ata_generic_hw(dev);
|
||||
err = ata_probe(dev);
|
||||
if (err)
|
||||
|
Loading…
x
Reference in New Issue
Block a user