DragonFly BSD
DragonFly bugs List (threaded) for 2005-04
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Compaq Smart Array 5i panic w/ Dragonfly 1.2


From: Joerg Sonnenberger <joerg@xxxxxxxxxxxxxxxxx>
Date: Sat, 23 Apr 2005 19:51:38 +0200
Mail-followup-to: bugs@crater.dragonflybsd.org

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;
 }
 


[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]