diff --git a/repos/os/src/drivers/platform/spec/x86/device_pd/main.cc b/repos/os/src/drivers/platform/spec/x86/device_pd/main.cc index 3ad0cb3a14..f2633bd0c4 100644 --- a/repos/os/src/drivers/platform/spec/x86/device_pd/main.cc +++ b/repos/os/src/drivers/platform/spec/x86/device_pd/main.cc @@ -105,6 +105,9 @@ void Platform::Device_pd_component::attach_dma_mem(Genode::Dataspace_capability page = rm_session()->attach_at(ds_cap, phys); } catch (Rm_session::Out_of_metadata) { throw; + } catch (Rm_session::Region_conflict) { + /* memory already attached before - done */ + return; } catch (...) { } /* sanity check */