inet: Reply to TASK messages even if we're waiting for STAT reply

As they can come anytime upon receipt of interrupt by the ethernet driver. This
is the same thing as is done for CONF replies.

A simple test case would be the following via ssh connection:
while getaddr; do :; done

Change-Id: I68f4403360b3eefe67fc602c4855ca1abd649475
This commit is contained in:
Lubomir Rintel 2012-08-05 16:33:20 +02:00 committed by Ben Gras
parent f0c391e09b
commit 4f52c9ea2e

View file

@ -277,6 +277,17 @@ void eth_rec(message *m)
} }
if (loc_port->etp_osdep.etp_state == OEPS_GETSTAT_SENT) if (loc_port->etp_osdep.etp_state == OEPS_GETSTAT_SENT)
{ {
if (m_type == DL_TASK_REPLY)
{
flags= m->DL_FLAGS;
if (flags & DL_PACK_SEND)
write_int(loc_port);
if (flags & DL_PACK_RECV)
read_int(loc_port, m->DL_COUNT);
return;
}
if (m_type != DL_STAT_REPLY) if (m_type != DL_STAT_REPLY)
{ {
printf( printf(