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:
parent
f0c391e09b
commit
4f52c9ea2e
1 changed files with 11 additions and 0 deletions
|
@ -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(
|
||||||
|
|
Loading…
Reference in a new issue