diff --git a/ChangeLog b/ChangeLog index 53bc8b4b3b..aa53d9383f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -277,3 +277,4 @@ * Added netdev_foreach() to support traversal of registered network devices * Added support for 'ifconfig' command to NSH (examples/nsh) * Moved MAC and ethernet definitions to net/ethernet.h + * Fix sim and DM90x0 compilation errors introduced in 0.3.4 diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html index 39a9bd32f1..0ae087aa1c 100644 --- a/Documentation/NuttX.html +++ b/Documentation/NuttX.html @@ -971,6 +971,7 @@ Other memory: * Added netdev_foreach() to support traversal of registered network devices * Added support for 'ifconfig' command to NSH (examples/nsh) * Moved MAC and ethernet definitions to net/ethernet.h + * Fix sim and DM90x0 compilation errors introduced in 0.3.4 diff --git a/arch/sim/src/up_uipdriver.c b/arch/sim/src/up_uipdriver.c index d5d2ecbfc5..a035d753cb 100644 --- a/arch/sim/src/up_uipdriver.c +++ b/arch/sim/src/up_uipdriver.c @@ -61,7 +61,7 @@ * Private Definitions ****************************************************************************/ -#define BUF ((struct uip_eth_hdr *)g_sim_dev.d_buf) +#define BUF ((struct ether_header*)g_sim_dev.d_buf) /**************************************************************************** * Private Types @@ -107,9 +107,9 @@ void timer_reset(struct timer *t) #ifdef CONFIG_NET_PROMISCUOUS # define up_comparemac(a,b) (0) #else -static inline int up_comparemac(struct ether_addr *paddr1, struct ether_addr *paddr2) +static inline int up_comparemac(uint8 *paddr1, struct ether_addr *paddr2) { - return memcmp(paddr1, paddr2, sizeof(struct ether_addr)); + return memcmp(paddr1, paddr2->ether_addr_octet, ETHER_ADDR_LEN); } #endif @@ -156,14 +156,14 @@ void uipdriver_loop(void) * MAC address */ - if (g_sim_dev.d_len > UIP_LLH_LEN && up_comparemac( &BUF->dest, &g_sim_dev.d_mac) == 0) + if (g_sim_dev.d_len > UIP_LLH_LEN && up_comparemac(BUF->ether_dhost, &g_sim_dev.d_mac) == 0) { /* We only accept IP packets of the configured type and ARP packets */ #ifdef CONFIG_NET_IPv6 - if (BUF->type == htons(UIP_ETHTYPE_IP6)) + if (BUF->ether_type == htons(UIP_ETHTYPE_IP6)) #else - if (BUF->type == htons(UIP_ETHTYPE_IP)) + if (BUF->ether_type == htons(UIP_ETHTYPE_IP)) #endif { uip_arp_ipin(); @@ -180,7 +180,7 @@ void uipdriver_loop(void) tapdev_send(g_sim_dev.d_buf, g_sim_dev.d_len); } } - else if (BUF->type == htons(UIP_ETHTYPE_ARP)) + else if (BUF->ether_type == htons(UIP_ETHTYPE_ARP)) { uip_arp_arpin(&g_sim_dev); @@ -202,7 +202,7 @@ void uipdriver_loop(void) else if (timer_expired(&g_periodic_timer)) { timer_reset(&g_periodic_timer); - uip_poll(&g_sim_dev, sim_uiptxpoll, 1); + uip_timer(&g_sim_dev, sim_uiptxpoll, 1); } sched_unlock(); } diff --git a/drivers/net/dm90x0.c b/drivers/net/dm90x0.c index 3fbb0f1f40..746aef8499 100644 --- a/drivers/net/dm90x0.c +++ b/drivers/net/dm90x0.c @@ -1106,7 +1106,7 @@ static void dm9x_txdone(struct dm9x_driver_s *dm9x) static int dm9x_interrupt(int irq, FAR void *context) { -#if CONFIG_C5471_NET_NINTERFACES == 1 +#if CONFIG_DM9X_NINTERFACES == 1 register struct dm9x_driver_s *dm9x = &g_dm9x[0]; #else # error "Additional logic needed to support multiple interfaces" diff --git a/examples/uip/main.c b/examples/uip/main.c index b20b6c8265..fd67ff95ff 100644 --- a/examples/uip/main.c +++ b/examples/uip/main.c @@ -230,7 +230,9 @@ int user_start(int argc, char *argv[]) { sleep(3); printf("main: Still running\n"); +#if CONFIG_NFILE_DESCRIPTORS > 0 fflush(stdout); +#endif } return 0; } diff --git a/netutils/webserver/httpd-cgi.c b/netutils/webserver/httpd-cgi.c index 9561d19896..baf671fa8e 100644 --- a/netutils/webserver/httpd-cgi.c +++ b/netutils/webserver/httpd-cgi.c @@ -166,11 +166,12 @@ static void net_stats(struct httpd_state *pstate, char *ptr) { #ifdef CONFIG_NET_STATISTICS char buffer[16]; + int i; - for(pstate->count = 0; pstate->count < sizeof(uip_stat) / sizeof(uip_stats_t); ++pstate->count) + for (i = 0; i < sizeof(uip_stat) / sizeof(uip_stats_t); i++) { - snprintf(buffer, 16, "%5u\n", ((uip_stats_t *)&uip_stat)[pstate->count]); - send(pstate->sockout, buffer, strlen(buffer), 0); + snprintf(buffer, 16, "%5u\n", ((uip_stats_t *)&uip_stat)[i]); + send(pstate->ht_sockfd, buffer, strlen(buffer), 0); } #endif }