|
@@ -500,6 +500,7 @@ static void realtek_refill_rx ( struct realtek_nic *rtl ) {
|
500
|
500
|
*/
|
501
|
501
|
static int realtek_open ( struct net_device *netdev ) {
|
502
|
502
|
struct realtek_nic *rtl = netdev->priv;
|
|
503
|
+ uint32_t tcr;
|
503
|
504
|
uint32_t rcr;
|
504
|
505
|
int rc;
|
505
|
506
|
|
|
@@ -524,6 +525,12 @@ static int realtek_open ( struct net_device *netdev ) {
|
524
|
525
|
*/
|
525
|
526
|
writeb ( ( RTL_CR_TE | RTL_CR_RE ), rtl->regs + RTL_CR );
|
526
|
527
|
|
|
528
|
+ /* Configure transmitter */
|
|
529
|
+ tcr = readl ( rtl->regs + RTL_TCR );
|
|
530
|
+ tcr &= ~RTL_TCR_MXDMA_MASK;
|
|
531
|
+ tcr |= RTL_TCR_MXDMA_DEFAULT;
|
|
532
|
+ writel ( tcr, rtl->regs + RTL_TCR );
|
|
533
|
+
|
527
|
534
|
/* Configure receiver */
|
528
|
535
|
rcr = readl ( rtl->regs + RTL_RCR );
|
529
|
536
|
rcr &= ~( RTL_RCR_RXFTH_MASK | RTL_RCR_RBLEN_MASK |
|