Index: twa_freebsd.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/twa/twa_freebsd.c,v
retrieving revision 1.7.2.2
diff -u -r1.7.2.2 twa_freebsd.c
--- twa_freebsd.c	11 Jan 2005 03:00:48 -0000	1.7.2.2
+++ twa_freebsd.c	15 Jan 2005 01:33:56 -0000
@@ -261,15 +261,6 @@
 	sc->twa_bus_tag = rman_get_bustag(sc->twa_io_res);
 	sc->twa_bus_handle = rman_get_bushandle(sc->twa_io_res);
 
-	/* Initialize the driver for this controller. */
-	if ((error = twa_setup(sc))) {
-		twa_free(sc);
-		return(error);
-	}
-
-	/* Print some information about the controller and configuration. */
-	twa_describe_controller(sc);
-
 	/* Allocate and connect our interrupt. */
 	res_id = 0;
 	if ((sc->twa_irq_res = bus_alloc_resource(sc->twa_bus_dev, SYS_RES_IRQ,
@@ -286,6 +277,15 @@
 		return(ENXIO);
 	}
 
+	/* Initialize the driver for this controller. */
+	if ((error = twa_setup(sc))) {
+		twa_free(sc);
+		return(error);
+	}
+
+	/* Print some information about the controller and configuration. */
+	twa_describe_controller(sc);
+
 	/* Create the control device. */
 	sc->twa_ctrl_dev = make_dev(&twa_cdevsw, device_get_unit(sc->twa_bus_dev),
 					UID_ROOT, GID_OPERATOR, S_IRUSR | S_IWUSR,
