In bge_link_upd(), rewrite the logic so that status is assigned

on the code path it is used in a way that GCC understands. This
avoids breakage due to higher optimization levels.
This commit is contained in:
Marcel Moolenaar 2005-12-13 06:14:14 +00:00
parent e9e7495667
commit 2778b70e71
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=153373

View File

@ -3750,10 +3750,8 @@ bge_link_upd(sc)
* periods of heavy traffic. (There should be no
* effect on copper NICs.)
*/
if (sc->bge_tbi) status = CSR_READ_4(sc, BGE_MAC_STS);
if (!sc->bge_tbi || !(status & (BGE_MACSTAT_PORT_DECODE_ERROR |
BGE_MACSTAT_MI_COMPLETE))) {
if (!sc->bge_tbi || ((status = CSR_READ_4(sc, BGE_MAC_STS)) &
(BGE_MACSTAT_PORT_DECODE_ERROR | BGE_MACSTAT_MI_COMPLETE)) == 0) {
sc->bge_link = 0;
callout_stop(&sc->bge_stat_ch);
bge_tick_locked(sc);