virtualbox5/6: handle NIC setup correctly

During initialization _handle_link_state may be called concurrently from EMT and
"nic_ep" (signal handler). Therefore, sent signal to "nic_ep" instead of calling
_handle_link_state from EMT thread.

issue #4632
This commit is contained in:
Sebastian Sumpf 2022-10-10 13:55:13 +02:00 committed by Christian Helmuth
parent c83f307b62
commit 1286b967ed
2 changed files with 4 additions and 4 deletions

View File

@ -225,8 +225,8 @@ class Nic_client
_nic.rx_channel()->sigh_packet_avail(_rx_packet_avail_dispatcher);
_nic.rx_channel()->sigh_ready_to_ack(_rx_ready_to_ack_dispatcher);
/* set initial link-state */
_handle_link_state();
/* inform signal handler ep */
_link_state_dispatcher.local_submit();
}
Genode::Signal_context_capability dispatcher() { return _destruct_dispatcher; }

View File

@ -240,8 +240,8 @@ class Nic_client
_nic.rx_channel()->sigh_packet_avail(_rx_packet_avail_dispatcher);
_nic.rx_channel()->sigh_ready_to_ack(_rx_ready_to_ack_dispatcher);
/* set initial link-state */
_handle_link_state();
/* inform signal handler ep */
_link_state_dispatcher.local_submit();
}
Genode::Signal_context_capability dispatcher() { return _destruct_dispatcher; }