
24 Apr
2009
24 Apr
'09
4:22 p.m.
Implement ethernet halt() by putting MAC0 in reset. If we do not do this, we will get memory corruption when ethernet frames are received during early OS boot.
Signed-off-by: Thomas Lange thomas@corelatus.se --- cpu/mips/au1x00_eth.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/cpu/mips/au1x00_eth.c b/cpu/mips/au1x00_eth.c index 6272a3a..5074997 100644 --- a/cpu/mips/au1x00_eth.c +++ b/cpu/mips/au1x00_eth.c @@ -276,6 +276,10 @@ static int au1x00_init(struct eth_device* dev, bd_t * bd){ }
static void au1x00_halt(struct eth_device* dev){ + volatile u32 *macen = (volatile u32*)MAC0_ENABLE; + + /* Put MAC0 in reset */ + *macen = 0; }
int au1x00_enet_initialize(bd_t *bis){
--
1.5.6.5