Date: Tue, 8 Apr 2003 19:30:58 +0200 From: Maxime Henrion <mux@freebsd.org> To: Nate Lawson <nate@root.org> Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/fxp if_fxp.c Message-ID: <20030408173058.GF1750@elvis.mu.org> In-Reply-To: <Pine.BSF.4.21.0304081010230.27414-100000@root.org> References: <20030408130518.AD52137B496@hub.freebsd.org> <Pine.BSF.4.21.0304081010230.27414-100000@root.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Nate Lawson wrote: > On Tue, 8 Apr 2003, Maxime Henrion wrote: > > Modified files: > > sys/dev/fxp if_fxp.c > > Log: > > Fix the hangs people have been seeing. For some reason, the > > atomic operation change caused this, so backout it until I > > can figure out what's wrong with it. > > > > Revision Changes Path > > 1.163 +7 -11 src/sys/dev/fxp/if_fxp.c > > Thank you. > > > - atomic_clear_32((u_int32_t *)&last->tx_cb->cb_status, > > - htobe32(bswap16(FXP_CB_COMMAND_S))); > > - > > + atomic_clear_short(&sc->fxp_desc.tx_last->tx_cb->cb_command, > > + FXP_CB_COMMAND_S); > > +#else > > + sc->fxp_desc.tx_last->tx_cb->cb_command &= ~FXP_CB_COMMAND_S; > > +#endif /*__alpha__*/ > > Um, are each of those cases semantically equivalent? Yes they are. The only difference, and that's probably where the problem lies, is that we are now rewriting (but not changing) cb_status. The cb_status word is probably mapped to a register in the fxp(4) card and thus rewriting it might not be safe. Cheers, Maxime
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030408173058.GF1750>