changeset 1439:0c10dc3ed9d1

* src/if_lan91cxx.c: Add some missing endian swapping calls.
author asl
date Wed, 10 Dec 2003 12:33:47 +0000
parents a683fa782034
children 4367d4c65982
files packages/devs/eth/smsc/lan91cxx/current/ChangeLog packages/devs/eth/smsc/lan91cxx/current/src/if_lan91cxx.c
diffstat 2 files changed, 10 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/packages/devs/eth/smsc/lan91cxx/current/ChangeLog
+++ b/packages/devs/eth/smsc/lan91cxx/current/ChangeLog
@@ -1,3 +1,7 @@
+2003-12-10  Uwe Kindler <uwe_kindler@web.de>
+
+	* src/if_lan91cxx.c: Add some missing endian swapping calls.
+
 2003-12-05  Nick Garnett  <nickg@calivar.com>
 
 	* src/if_lan91cxx.c: Added support for revA of the LAN91C111 which
--- a/packages/devs/eth/smsc/lan91cxx/current/src/if_lan91cxx.c
+++ b/packages/devs/eth/smsc/lan91cxx/current/src/if_lan91cxx.c
@@ -184,9 +184,8 @@ static cyg_interrupt lan91cxx_interrupt;
 static cyg_handle_t  lan91cxx_interrupt_handle;
 
 // This ISR is called when the ethernet interrupt occurs
-static int
-lan91cxx_isr(cyg_vector_t vector, cyg_addrword_t data
-             /* , HAL_SavedRegisters *regs */ )
+static int lan91cxx_isr(cyg_vector_t vector, cyg_addrword_t data)
+             /* , HAL_SavedRegisters *regs */
 {
     struct eth_drv_sc *sc = (struct eth_drv_sc *)data;
     struct lan91cxx_priv_data *cpd =
@@ -870,7 +869,7 @@ lan91cxx_send(struct eth_drv_sc *sc, str
         control |= LAN91CXX_CONTROLBYTE_ODD;
     }
     control |= LAN91CXX_CONTROLBYTE_CRC; // Just in case...
-    put_data(sc, control);
+    put_data(sc, CYG_CPU_TO_LE16(control));
 
     // Enqueue the packet
     put_reg(sc, LAN91CXX_MMU_COMMAND, LAN91CXX_MMU_enq_packet);
@@ -1122,6 +1121,7 @@ lan91cxx_recv(struct eth_drv_sc *sc, str
     val = CYG_LE32_TO_CPU(val);
     plen = (val >> 16) - 6;
 #else
+    val = CYG_LE16_TO_CPU(val);
     plen = get_data(sc);
     plen = CYG_LE16_TO_CPU(plen) - 6;
 #endif
@@ -1163,6 +1163,8 @@ lan91cxx_recv(struct eth_drv_sc *sc, str
 	val >>= 16;
 	mlen -= 2;
     } else
+#else
+    val = CYG_LE16_TO_CPU(val);
 #endif
 	cp = (unsigned char *)data;