summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/natsemi.c
diff options
context:
space:
mode:
authorUdayan Kumar2007-07-10 03:54:02 +0200
committerUdayan Kumar2007-07-15 03:08:06 +0200
commit11d246f3b53f7f0cf4138ae8297b1027fcde90ad (patch)
tree2b28165af1cdea990d607002cd14333eb5c177f9 /src/drivers/net/natsemi.c
parentmore indentation and styling done (diff)
downloadipxe-11d246f3b53f7f0cf4138ae8297b1027fcde90ad.tar.gz
ipxe-11d246f3b53f7f0cf4138ae8297b1027fcde90ad.tar.xz
ipxe-11d246f3b53f7f0cf4138ae8297b1027fcde90ad.zip
duplex setting added to natsemi.c
Diffstat (limited to 'src/drivers/net/natsemi.c')
-rw-r--r--src/drivers/net/natsemi.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/drivers/net/natsemi.c b/src/drivers/net/natsemi.c
index 551fc17e..cdd07f21 100644
--- a/src/drivers/net/natsemi.c
+++ b/src/drivers/net/natsemi.c
@@ -401,11 +401,13 @@ static int nat_open ( struct net_device *netdev ) {
* Configure for standard, in-spec Ethernet.
*/
if ( inl ( nat->ioaddr + ChipConfig ) & 0x20000000 ) { /* Full duplex */
- tx_config = 0xD0801002;
- rx_config = 0x10000020;
+ tx_config = 0xD0801002|0xC0000000;
+ DBG("Full duplex\n");
+ rx_config = 0x10000020|0x10000000;;
} else {
- tx_config = 0x10801002;
- rx_config = 0x0020;
+ tx_config = 0x10801002& ~0xC0000000;;
+ DBG("Half duplex\n");
+ rx_config = 0x0020& ~0x10000000;;;
}
outl ( tx_config, nat->ioaddr + TxConfig );
outl ( rx_config, nat->ioaddr + RxConfig );