summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2009-02-23 18:22:06 +0000
committeremaste <emaste@FreeBSD.org>2009-02-23 18:22:06 +0000
commitb76fb8bc5459b74fee49a6a9b86a6b64d8c5d722 (patch)
treed6689e7111c1c65105d0f6aff72e96c6740371f9
parent44cdb003f768f8f466e2546d2963fd109144656d (diff)
downloadFreeBSD-src-b76fb8bc5459b74fee49a6a9b86a6b64d8c5d722.zip
FreeBSD-src-b76fb8bc5459b74fee49a6a9b86a6b64d8c5d722.tar.gz
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.
-rw-r--r--sys/dev/aac/aac.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/aac/aac.c b/sys/dev/aac/aac.c
index fb30bcb..1cee9f4 100644
--- a/sys/dev/aac/aac.c
+++ b/sys/dev/aac/aac.c
@@ -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 *sc)
{
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));
}
/*
OpenPOWER on IntegriCloud