# HG changeset patch # User asl # Date 1071059627 0 # Node ID 0c10dc3ed9d1fb4b5f8ac8138969bb37b3edae5f # Parent a683fa782034e7c6c34aac0502b4618c44a97860 * src/if_lan91cxx.c: Add some missing endian swapping calls. diff --git a/packages/devs/eth/smsc/lan91cxx/current/ChangeLog b/packages/devs/eth/smsc/lan91cxx/current/ChangeLog --- 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 + + * src/if_lan91cxx.c: Add some missing endian swapping calls. + 2003-12-05 Nick Garnett * src/if_lan91cxx.c: Added support for revA of the LAN91C111 which diff --git a/packages/devs/eth/smsc/lan91cxx/current/src/if_lan91cxx.c b/packages/devs/eth/smsc/lan91cxx/current/src/if_lan91cxx.c --- 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;