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.
This commit is contained in:
Ed Maste 2009-02-23 18:22:06 +00:00
parent 3975e3a1ea
commit 4824be888b

View File

@ -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));
}
/*