fixes wrong waitng for status bit in mnrs network driver

This commit is contained in:
2026-02-01 06:48:18 +01:00
parent 1c9c00235d
commit 59072fb524

View File

@@ -869,7 +869,8 @@ ULONG words;
data = packet_ptr -> nx_packet_prepend_ptr; data = packet_ptr -> nx_packet_prepend_ptr;
size = packet_ptr -> nx_packet_length; size = packet_ptr -> nx_packet_length;
words = (size+3)/4; words = (size+3)/4;
while(get_ethmac_mac_intr_rx_data_avail_intr_enable(ethmac) == 0); while(get_ethmac_mac_ctrl_tx_ready(ethmac) == 0)
;
set_ethmac_mac_tx(ethmac, size*8); set_ethmac_mac_tx(ethmac, size*8);
for(i=0; i<size; i+=4) { for(i=0; i<size; i+=4) {
if(i<size-3) { if(i<size-3) {
@@ -935,7 +936,7 @@ VOID _nx_mnrs_eth_recv_packet(UINT id, volatile ethmac_t* ethmac){
set_ethmac_mac_intr_rx_data_avail_intr_enable(ethmac, 1); set_ethmac_mac_intr_rx_data_avail_intr_enable(ethmac, 1);
return; return;
} }
// read the first 14 bytes to get from and to mac (6bytes each) and the frame type/length // read the first 14 bytes to get from and to mac address (6bytes each) and the frame type/length
for( i = 0;i < 4;i++) for( i = 0;i < 4;i++)
{ {
while(!get_ethmac_mac_ctrl_rx_pending(ethmac)) while(!get_ethmac_mac_ctrl_rx_pending(ethmac))