Consume the packet even if we could not allocate a message block for it in

the Ethernet interrupt. The BeOS version does that, likewise for MOL. Otherwise,
we end up into an infinite loop reporting the memory allocation failure.

I think this is now the expected behavior as we wouldn't have stats
(num_rx_no_mem) for it if we couldn't get out of the EtherIRQ. ;-) Besides,
the packet will be resent for reliable networks.
This commit is contained in:
gbeauche 2005-06-30 06:38:09 +00:00
parent 7ac6ad2f46
commit ea42af0568

View File

@ -497,6 +497,7 @@ void EtherIRQ(void)
ether_packet_received(mp);
} else {
D(bug("WARNING: Cannot allocate mblk for received packet\n"));
read(fd, packet, size); // consume this packet
num_rx_no_mem++;
}
}