Compaq Smart Array 5i panic w/ Dragonfly 1.2

Joerg Sonnenberger joerg at britannica.bec.de
Sat Apr 23 10:52:15 PDT 2005


On Sat, Apr 23, 2005 at 01:19:06AM -0500, Bill Marquette wrote:
> Anyone had success booting/installing onto a HP DL380 G3 with a Compaq
> Smart Array 5i controller?  I've tried just about every setting
> combination in the BIOS I can think of with no luck as well as
> disabling acpi on boot.  Every boot looks like the included
> dmesg/trace - panics right after figuring out that there's a 5i
> controller in the box.  Any help would be appreciated, I'm booting off
> an LSI controller for now and can easily re-enable the 5i controller
> for testing.  Thanks

Please try the attached patch.

Joerg
Index: ciss.c
===================================================================
RCS file: /home/joerg/wd/repository/dragonflybsd/src/sys/dev/raid/ciss/ciss.c,v
retrieving revision 1.12
diff -u -r1.12 ciss.c
--- ciss.c	1 Feb 2005 02:16:58 -0000	1.12
+++ ciss.c	23 Apr 2005 17:49:36 -0000
@@ -760,6 +760,7 @@
 	ciss_printf(sc, "can't allocate command memory\n");
 	return(ENOMEM);
     }
+    bus_dmamap_create(sc->ciss_command_dmat, 0, sc->ciss_command_map);
     bus_dmamap_load(sc->ciss_command_dmat, sc->ciss_command_map, sc->ciss_command, 
 		    sizeof(struct ciss_command) * sc->ciss_max_requests,
 		    ciss_command_map_helper, sc, 0);
@@ -1377,6 +1378,7 @@
     /* destroy command memory and DMA tag */
     if (sc->ciss_command != NULL) {
 	bus_dmamap_unload(sc->ciss_command_dmat, sc->ciss_command_map);
+	bus_dmamap_destroy(sc->ciss_command_dmat, sc->ciss_command_map);
 	bus_dmamem_free(sc->ciss_command_dmat, sc->ciss_command, sc->ciss_command_map);
     }
     if (sc->ciss_buffer_dmat)
@@ -1992,6 +1994,7 @@
     if ((cr->cr_flags & CISS_REQ_MAPPED) || (cr->cr_data == NULL))
 	return(0);
     
+    bus_dmamap_create(sc->ciss_buffer_dmat, 0, cr->cr_datamap);
     bus_dmamap_load(sc->ciss_buffer_dmat, cr->cr_datamap, cr->cr_data, cr->cr_length,
 		    ciss_request_map_helper, CISS_FIND_COMMAND(cr), 0);
 	
@@ -2045,6 +2048,7 @@
 	bus_dmamap_sync(sc->ciss_buffer_dmat, cr->cr_datamap, BUS_DMASYNC_POSTWRITE);
 
     bus_dmamap_unload(sc->ciss_buffer_dmat, cr->cr_datamap);
+    bus_dmamap_destroy(sc->ciss_buffer_dmat, cr->cr_datamap);
     cr->cr_flags &= ~CISS_REQ_MAPPED;
 }
 




More information about the Bugs mailing list