mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 12:32:56 +01:00
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:
committed by
Christian Helmuth
parent
c83f307b62
commit
1286b967ed
@@ -225,8 +225,8 @@ class Nic_client
|
|||||||
_nic.rx_channel()->sigh_packet_avail(_rx_packet_avail_dispatcher);
|
_nic.rx_channel()->sigh_packet_avail(_rx_packet_avail_dispatcher);
|
||||||
_nic.rx_channel()->sigh_ready_to_ack(_rx_ready_to_ack_dispatcher);
|
_nic.rx_channel()->sigh_ready_to_ack(_rx_ready_to_ack_dispatcher);
|
||||||
|
|
||||||
/* set initial link-state */
|
/* inform signal handler ep */
|
||||||
_handle_link_state();
|
_link_state_dispatcher.local_submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
Genode::Signal_context_capability dispatcher() { return _destruct_dispatcher; }
|
Genode::Signal_context_capability dispatcher() { return _destruct_dispatcher; }
|
||||||
|
|||||||
@@ -240,8 +240,8 @@ class Nic_client
|
|||||||
_nic.rx_channel()->sigh_packet_avail(_rx_packet_avail_dispatcher);
|
_nic.rx_channel()->sigh_packet_avail(_rx_packet_avail_dispatcher);
|
||||||
_nic.rx_channel()->sigh_ready_to_ack(_rx_ready_to_ack_dispatcher);
|
_nic.rx_channel()->sigh_ready_to_ack(_rx_ready_to_ack_dispatcher);
|
||||||
|
|
||||||
/* set initial link-state */
|
/* inform signal handler ep */
|
||||||
_handle_link_state();
|
_link_state_dispatcher.local_submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
Genode::Signal_context_capability dispatcher() { return _destruct_dispatcher; }
|
Genode::Signal_context_capability dispatcher() { return _destruct_dispatcher; }
|
||||||
|
|||||||
Reference in New Issue
Block a user