|
@@ -401,11 +401,13 @@ static int nat_open ( struct net_device *netdev ) {
|
401
|
401
|
* Configure for standard, in-spec Ethernet.
|
402
|
402
|
*/
|
403
|
403
|
if ( inl ( nat->ioaddr + ChipConfig ) & 0x20000000 ) { /* Full duplex */
|
404
|
|
- tx_config = 0xD0801002;
|
405
|
|
- rx_config = 0x10000020;
|
|
404
|
+ tx_config = 0xD0801002|0xC0000000;
|
|
405
|
+ DBG("Full duplex\n");
|
|
406
|
+ rx_config = 0x10000020|0x10000000;;
|
406
|
407
|
} else {
|
407
|
|
- tx_config = 0x10801002;
|
408
|
|
- rx_config = 0x0020;
|
|
408
|
+ tx_config = 0x10801002& ~0xC0000000;;
|
|
409
|
+ DBG("Half duplex\n");
|
|
410
|
+ rx_config = 0x0020& ~0x10000000;;;
|
409
|
411
|
}
|
410
|
412
|
outl ( tx_config, nat->ioaddr + TxConfig );
|
411
|
413
|
outl ( rx_config, nat->ioaddr + RxConfig );
|