Use correct resource id for bus_release_resource().

This commit is contained in:
Yoshihiro Takahashi 2001-05-06 08:33:29 +00:00
parent 684ac05ae8
commit 29986716bc

View File

@ -136,7 +136,7 @@ adv_pci_attach(device_t dev)
struct adv_softc *adv;
u_int32_t id;
u_int32_t command;
int error, rid;
int error, rid, irqrid;
void *ih;
struct resource *iores, *irqres;
@ -173,13 +173,13 @@ adv_pci_attach(device_t dev)
if (adv_find_signature(rman_get_bustag(iores),
rman_get_bushandle(iores)) == 0) {
bus_release_resource(dev, SYS_RES_IOPORT, 0, iores);
bus_release_resource(dev, SYS_RES_IOPORT, rid, iores);
return ENXIO;
}
adv = adv_alloc(dev, rman_get_bustag(iores), rman_get_bushandle(iores));
if (adv == NULL) {
bus_release_resource(dev, SYS_RES_IOPORT, 0, iores);
bus_release_resource(dev, SYS_RES_IOPORT, rid, iores);
return ENXIO;
}
@ -200,7 +200,7 @@ adv_pci_attach(device_t dev)
printf("%s: Could not allocate DMA tag - error %d\n",
adv_name(adv), error);
adv_free(adv);
bus_release_resource(dev, SYS_RES_IOPORT, 0, iores);
bus_release_resource(dev, SYS_RES_IOPORT, rid, iores);
return ENXIO;
}
@ -217,7 +217,7 @@ adv_pci_attach(device_t dev)
&overrun_dmat) != 0) {
bus_dma_tag_destroy(adv->parent_dmat);
adv_free(adv);
bus_release_resource(dev, SYS_RES_IOPORT, 0, iores);
bus_release_resource(dev, SYS_RES_IOPORT, rid, iores);
return ENXIO;
}
if (bus_dmamem_alloc(overrun_dmat,
@ -227,7 +227,7 @@ adv_pci_attach(device_t dev)
bus_dma_tag_destroy(overrun_dmat);
bus_dma_tag_destroy(adv->parent_dmat);
adv_free(adv);
bus_release_resource(dev, SYS_RES_IOPORT, 0, iores);
bus_release_resource(dev, SYS_RES_IOPORT, rid, iores);
return ENXIO;
}
/* And permanently map it in */
@ -265,7 +265,7 @@ adv_pci_attach(device_t dev)
if (adv_init(adv) != 0) {
adv_free(adv);
bus_release_resource(dev, SYS_RES_IOPORT, 0, iores);
bus_release_resource(dev, SYS_RES_IOPORT, rid, iores);
return ENXIO;
}
@ -289,13 +289,13 @@ adv_pci_attach(device_t dev)
adv->fix_asyn_xfer = ~0;
}
rid = 0;
irqres = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0, ~0, 1,
irqrid = 0;
irqres = bus_alloc_resource(dev, SYS_RES_IRQ, &irqrid, 0, ~0, 1,
RF_SHAREABLE | RF_ACTIVE);
if (irqres == NULL ||
bus_setup_intr(dev, irqres, INTR_TYPE_CAM|INTR_ENTROPY, adv_intr, adv, &ih)) {
adv_free(adv);
bus_release_resource(dev, SYS_RES_IOPORT, 0, iores);
bus_release_resource(dev, SYS_RES_IOPORT, rid, iores);
return ENXIO;
}