diff --git a/repos/os/src/drivers/usb_block/main.cc b/repos/os/src/drivers/usb_block/main.cc index 994b14760c..c0966824a1 100644 --- a/repos/os/src/drivers/usb_block/main.cc +++ b/repos/os/src/drivers/usb_block/main.cc @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -86,6 +87,8 @@ struct Usb::Block_driver : Usb::Completion, Genode::log("Device plugged"); if (!initialize()) { + env.parent().exit(-1); + Genode::sleep_forever(); return; } @@ -561,11 +564,9 @@ struct Usb::Block_driver : Usb::Completion, } catch (int) { /* handle command failures */ Genode::error("Could not initialize storage device"); - return false; } catch (...) { /* handle Usb::Session failures */ Genode::error("Could not initialize storage device"); - throw; } return false; }