From 36206617bb08c112cd6218f87da97b5627602c70 Mon Sep 17 00:00:00 2001 From: imp Date: Thu, 22 Sep 2005 18:46:29 +0000 Subject: Forgot to commit ata-card fixes last night. Fix gleb's attempt to do the right thing by merging in the changes I neglected to commit last night. --- sys/dev/ata/ata-card.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/sys/dev/ata/ata-card.c b/sys/dev/ata/ata-card.c index f3fd0a0..cc7b9b9 100644 --- a/sys/dev/ata/ata-card.c +++ b/sys/dev/ata/ata-card.c @@ -91,13 +91,13 @@ ata_pccard_attach(device_t dev) { struct ata_channel *ch = device_get_softc(dev); struct resource *io, *ctlio; - int i, rid; + int i, rid, err; /* allocate the io range to get start and length */ rid = ATA_IOADDR_RID; if (!(io = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid, 0, ~0, ATA_IOSIZE, RF_ACTIVE))) - return ENXIO; + return (ENXIO); /* setup the resource vectors */ for (i = ATA_DATA; i <= ATA_COMMAND; i++) { @@ -121,7 +121,7 @@ ata_pccard_attach(device_t dev) bus_release_resource(dev, SYS_RES_IOPORT, ATA_IOADDR_RID, io); for (i = ATA_DATA; i < ATA_MAX_RES; i++) ch->r_io[i].res = NULL; - return ENXIO; + return (ENXIO); } ch->r_io[ATA_CONTROL].res = ctlio; ch->r_io[ATA_CONTROL].offset = 0; @@ -132,7 +132,10 @@ ata_pccard_attach(device_t dev) ch->unit = 0; ch->flags |= (ATA_USE_16BIT | ATA_NO_SLAVE); ata_generic_hw(dev); - return ata_probe(dev); + err = ata_probe(dev); + if (err) + return (err); + return (ata_attach(dev)); } static int -- cgit v1.1