From 8c9b366e593694cd336d98d872fa02e61bc8bff5 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Sun, 5 Aug 2012 16:33:20 +0200 Subject: [PATCH] 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 --- servers/inet/mnx_eth.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/servers/inet/mnx_eth.c b/servers/inet/mnx_eth.c index d3967eb92..1625b4fb6 100644 --- a/servers/inet/mnx_eth.c +++ b/servers/inet/mnx_eth.c @@ -277,6 +277,17 @@ void eth_rec(message *m) } 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) { printf(