Mercurial > ecos
changeset 1997:10018fa77fed
Fix race when handling interrupt events - from Fernando Flores
| author | gthomas |
|---|---|
| date | Wed, 22 Jun 2005 23:25:36 +0000 |
| parents | 2c3a824f07b9 |
| children | 7237127655fc |
| files | packages/devs/eth/powerpc/fec/current/ChangeLog packages/devs/eth/powerpc/fec/current/src/if_fec.c |
| diffstat | 2 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/devs/eth/powerpc/fec/current/ChangeLog +++ b/packages/devs/eth/powerpc/fec/current/ChangeLog @@ -1,3 +1,8 @@ +2005-06-22 Gary Thomas <gary@mlbassoc.com> + + * src/if_fec.c (fec_eth_int): Avoid race when handling interrupt + events - reported by Fernando Flores + 2004-10-11 Harald Kuethe <hkuethe@controlware.de> * src/if_fec.c (fec_eth_RxEvent): remove crc from packet.
--- a/packages/devs/eth/powerpc/fec/current/src/if_fec.c +++ b/packages/devs/eth/powerpc/fec/current/src/if_fec.c @@ -763,13 +763,13 @@ fec_eth_int(struct eth_drv_sc *sc) unsigned long event; while ((event = qi->fec->iEvent) != 0) { + qi->fec->iEvent = event; // Reset the bits we handled if ((event & iEvent_TFINT) != 0) { fec_eth_TxEvent(sc); } if ((event & iEvent_RFINT) != 0) { fec_eth_RxEvent(sc); } - qi->fec->iEvent = event; // Reset the bits we handled } }
