Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Nov 2009 01:12:00 +0000 (UTC)
From:      Xin LI <delphij@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org
Subject:   svn commit: r199126 - stable/7/sys/dev/arcmsr
Message-ID:  <200911100112.nAA1C0BZ041334@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: delphij
Date: Tue Nov 10 01:12:00 2009
New Revision: 199126
URL: http://svn.freebsd.org/changeset/base/199126

Log:
  MFC revision 199069:
  
  Initialize the whole message unit's DMA buffer to zero, this fixes a panic
  during boot when ARC1200 is being used with certain motherboard models.
  
  This commit brings the driver to the same state of vendor's 1.20.00.16
  release.  Many thanks to Areca for their continued support to FreeBSD.

Modified:
  stable/7/sys/dev/arcmsr/arcmsr.c
  stable/7/sys/dev/arcmsr/arcmsr.h
Directory Properties:
  stable/7/sys/   (props changed)
  stable/7/sys/contrib/pf/   (props changed)

Modified: stable/7/sys/dev/arcmsr/arcmsr.c
==============================================================================
--- stable/7/sys/dev/arcmsr/arcmsr.c	Tue Nov 10 00:55:00 2009	(r199125)
+++ stable/7/sys/dev/arcmsr/arcmsr.c	Tue Nov 10 01:12:00 2009	(r199126)
@@ -55,6 +55,8 @@
 **     1.20.00.14   02/05/2007         Erich Chen        bug fix for incorrect ccb_h.status report
 **                                                       and cause g_vfs_done() read write error
 **     1.20.00.15   10/10/2007         Erich Chen        support new RAID adapter type ARC120x
+**     1.20.00.16   10/10/2009         Erich Chen        Bug fix for RAID adapter type ARC120x
+**                                                       bus_dmamem_alloc() with BUS_DMA_ZERO
 ******************************************************************************************
 * $FreeBSD$
 */
@@ -2903,7 +2905,7 @@ static u_int32_t arcmsr_initialize(devic
 	}
 	/* Allocation for our srbs */
 	if(bus_dmamem_alloc(acb->srb_dmat, (void **)&acb->uncacheptr
-		, BUS_DMA_WAITOK | BUS_DMA_COHERENT, &acb->srb_dmamap) != 0) {
+		, BUS_DMA_WAITOK | BUS_DMA_COHERENT | BUS_DMA_ZERO, &acb->srb_dmamap) != 0) {
 		bus_dma_tag_destroy(acb->srb_dmat);
 		bus_dma_tag_destroy(acb->dm_segs_dmat);
 		bus_dma_tag_destroy(acb->parent_dmat);

Modified: stable/7/sys/dev/arcmsr/arcmsr.h
==============================================================================
--- stable/7/sys/dev/arcmsr/arcmsr.h	Tue Nov 10 00:55:00 2009	(r199125)
+++ stable/7/sys/dev/arcmsr/arcmsr.h	Tue Nov 10 01:12:00 2009	(r199126)
@@ -37,7 +37,7 @@
 **************************************************************************
 * $FreeBSD$
 */
-#define ARCMSR_DRIVER_VERSION                        "Driver Version 1.20.00.15 2007-10-07"
+#define ARCMSR_DRIVER_VERSION                        "Driver Version 1.20.00.16 2009-10-10"
 #define ARCMSR_SCSI_INITIATOR_ID                                              255
 #define ARCMSR_DEV_SECTOR_SIZE                                                512
 #define ARCMSR_MAX_XFER_SECTORS                                              4096



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200911100112.nAA1C0BZ041334>