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