diff --git a/src/drivers/net/realtek.c b/src/drivers/net/realtek.c index 7c6f8689..7964475a 100644 --- a/src/drivers/net/realtek.c +++ b/src/drivers/net/realtek.c @@ -708,8 +708,8 @@ static int realtek_open ( struct net_device *netdev ) { /* Configure receiver */ rcr = readl ( rtl->regs + RTL_RCR ); - rcr &= ~( RTL_RCR_RXFTH_MASK | RTL_RCR_RBLEN_MASK | - RTL_RCR_MXDMA_MASK ); + rcr &= ~( RTL_RCR_STOP_WORKING | RTL_RCR_RXFTH_MASK | + RTL_RCR_RBLEN_MASK | RTL_RCR_MXDMA_MASK ); rcr |= ( RTL_RCR_RXFTH_DEFAULT | RTL_RCR_RBLEN_DEFAULT | RTL_RCR_MXDMA_DEFAULT | RTL_RCR_WRAP | RTL_RCR_AB | RTL_RCR_AM | RTL_RCR_APM | RTL_RCR_AAP ); diff --git a/src/drivers/net/realtek.h b/src/drivers/net/realtek.h index e426dc5a..ac33405e 100644 --- a/src/drivers/net/realtek.h +++ b/src/drivers/net/realtek.h @@ -140,6 +140,7 @@ enum realtek_legacy_status { /** Receive (Rx) Configuration Register (dword) */ #define RTL_RCR 0x44 +#define RTL_RCR_STOP_WORKING 0x01000000UL /**< Here be dragons */ #define RTL_RCR_RXFTH(x) ( (x) << 13 ) /**< Receive FIFO threshold */ #define RTL_RCR_RXFTH_MASK RTL_RCR_RXFTH ( 0x7 ) #define RTL_RCR_RXFTH_DEFAULT RTL_RCR_RXFTH ( 0x7 /* Whole packet */ )