From 2e34ccc7fe734ae87a1de65b2ef992bb3190cab7 Mon Sep 17 00:00:00 2001 From: Bruce Evans Date: Sat, 13 Jan 2007 11:00:56 +0000 Subject: [PATCH] Fixed a panic in the probe. The memory resource was accessed after releasing it. This seems to have worked until a few days ago, but now the memory is unmapped. --- sys/dev/cy/cy_isa.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/dev/cy/cy_isa.c b/sys/dev/cy/cy_isa.c index 8d6df24127a..a5203a7c7b0 100644 --- a/sys/dev/cy/cy_isa.c +++ b/sys/dev/cy/cy_isa.c @@ -74,7 +74,7 @@ cy_isa_probe(device_t dev) { struct resource *mem_res; cy_addr iobase; - int mem_rid; + int error, mem_rid; if (isa_get_logicalid(dev) != 0) /* skip PnP probes */ return (ENXIO); @@ -96,8 +96,9 @@ cy_isa_probe(device_t dev) cy_outb(iobase, CY_CLEAR_INTR, 0, 0); DELAY(500); + error = (cy_units(iobase, 0) == 0 ? ENXIO : 0); bus_release_resource(dev, SYS_RES_MEMORY, mem_rid, mem_res); - return (cy_units(iobase, 0) == 0 ? ENXIO : 0); + return (error); } static int