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;
}