forked from ROMEO/obsw
found it. DMA can obviously not handle fragmented pbufs to receive packets. -> debug cleanup needed
This commit is contained in:
@ -273,11 +273,20 @@ s32_t xemacpsif_input(struct netif *netif)
|
||||
|
||||
/* no packet could be read, silently ignore this */
|
||||
if (p == NULL) {
|
||||
outbyte('x');
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* points to packet payload, which starts with an Ethernet header */
|
||||
ethhdr = p->payload;
|
||||
xil_printf(" %p",p->payload);
|
||||
|
||||
for (int j = 0; j < 6; j++) {
|
||||
for (int i = 0; i < 8; i++) {
|
||||
xil_printf(" %02x", *((uint8_t *)(p->payload) + i + j * 8 ) );
|
||||
}
|
||||
xil_printf("\n");
|
||||
}
|
||||
|
||||
#if LINK_STATS
|
||||
lwip_stats.link.recv++;
|
||||
@ -298,13 +307,19 @@ s32_t xemacpsif_input(struct netif *netif)
|
||||
#endif /* PPPOE_SUPPORT */
|
||||
/* full packet send to tcpip_thread to process */
|
||||
if (netif->input(p, netif) != ERR_OK) {
|
||||
outbyte('y');
|
||||
LWIP_DEBUGF(NETIF_DEBUG, ("xemacpsif_input: IP input error\r\n"));
|
||||
pbuf_free(p);
|
||||
p = NULL;
|
||||
}
|
||||
outbyte('o');
|
||||
break;
|
||||
|
||||
default:
|
||||
outbyte('z');
|
||||
for (int i = 0; i < 14; i++) {
|
||||
xil_printf(" %02x", *((uint8_t *)(p->payload) + i ) );
|
||||
}
|
||||
pbuf_free(p);
|
||||
p = NULL;
|
||||
break;
|
||||
|
Reference in New Issue
Block a user