DP8390: Correctly use the Rx page start instead of the Tx one in the Rx function, fixes loss of received packets.
This commit is contained in:
@@ -396,7 +396,7 @@ dp8390_rx_common(void *priv, uint8_t *buf, int io_len)
|
|||||||
} else {
|
} else {
|
||||||
endbytes = (dev->page_stop - dev->curr_page) * 256;
|
endbytes = (dev->page_stop - dev->curr_page) * 256;
|
||||||
memcpy(startptr + sizeof(pkthdr), buf, endbytes - sizeof(pkthdr));
|
memcpy(startptr + sizeof(pkthdr), buf, endbytes - sizeof(pkthdr));
|
||||||
startptr = &dev->mem[((dev->tx_page_start * 256) - dev->mem_start) & dev->mem_wrap];
|
startptr = &dev->mem[((dev->page_start * 256) - dev->mem_start) & dev->mem_wrap];
|
||||||
memcpy(startptr, buf + endbytes - sizeof(pkthdr), io_len - endbytes + 8);
|
memcpy(startptr, buf + endbytes - sizeof(pkthdr), io_len - endbytes + 8);
|
||||||
}
|
}
|
||||||
dev->curr_page = nextpage;
|
dev->curr_page = nextpage;
|
||||||
|
|||||||
Reference in New Issue
Block a user