svn commit: r188940 - head/sys/dev/aac

Ed Maste emaste at FreeBSD.org
Mon Feb 23 10:22:07 PST 2009


Author: emaste
Date: Mon Feb 23 18:22:06 2009
New Revision: 188940
URL: http://svn.freebsd.org/changeset/base/188940

Log:
  SVN rev 188743 modified aac_rx_get_fwstatus to use the AAC_RX_OMR0
  register instead of AAC_RX_FWSTATUS, as that is the way it's done in
  Adaptec's vendor driver and in the Linux drivers.  (The same applies
  to aac_rkt_get_fwstatus as well.)
  
  However, a concern has been raised about the compatibility of this
  change and old hardware / firmware versions.  In the absense of
  specific information, revert to the original behaviour if the firmware
  does not support the "New comm." interface.  Users of old cards or
  firmware haven't reported the problems that are potentially solved by
  switching to OMR0.

Modified:
  head/sys/dev/aac/aac.c

Modified: head/sys/dev/aac/aac.c
==============================================================================
--- head/sys/dev/aac/aac.c	Mon Feb 23 18:16:17 2009	(r188939)
+++ head/sys/dev/aac/aac.c	Mon Feb 23 18:22:06 2009	(r188940)
@@ -2416,7 +2416,8 @@ aac_rx_get_fwstatus(struct aac_softc *sc
 {
 	fwprintf(sc, HBA_FLAGS_DBG_FUNCTION_ENTRY_B, "");
 
-	return(AAC_MEM0_GETREG4(sc, AAC_RX_OMR0));
+	return(AAC_MEM0_GETREG4(sc, sc->flags & AAC_FLAGS_NEW_COMM ?
+	    AAC_RX_OMR0 : AAC_RX_FWSTATUS));
 }
 
 static int
@@ -2435,7 +2436,8 @@ aac_rkt_get_fwstatus(struct aac_softc *s
 {
 	fwprintf(sc, HBA_FLAGS_DBG_FUNCTION_ENTRY_B, "");
 
-	return(AAC_MEM0_GETREG4(sc, AAC_RKT_OMR0));
+	return(AAC_MEM0_GETREG4(sc, sc->flags & AAC_FLAGS_NEW_COMM ?
+	    AAC_RKT_OMR0 : AAC_RKT_FWSTATUS));
 }
 
 /*


More information about the svn-src-head mailing list