[Wiz5500] Fix recvfrom failure when received data exceeds buffer length
recvfrom incorrectly returned an error when the received data length was greater than the user-provided buffer, even though the read was valid.
It now returns the requested amount and leaves the remaining data for future reads.
Motivation
Fixes wizznet recv_from function in case of multiple packets received into the buffer.
In case the size of the read buffer exceeds the packet size, the recv_from returns error and does not update the receive address counter.
This issue caused an accumulation of ethernet packets, which weren't processed and therefore stuck in case of no read of bigger size.
Edited by Niccolò Betto