diff --git a/repos/os/include/platform_session/client.h b/repos/os/include/platform_session/client.h
index 08803b7a35..fa96596d17 100644
--- a/repos/os/include/platform_session/client.h
+++ b/repos/os/include/platform_session/client.h
@@ -15,6 +15,7 @@
#define _INCLUDE__PLATFORM_SESSION__CLIENT_H_
#include
+#include
#include
namespace Platform { struct Client; }
@@ -43,8 +44,16 @@ struct Platform::Client : Genode::Rpc_client
void free_dma_buffer(Ram_dataspace_capability cap) override {
call(cap); }
- addr_t dma_addr(Ram_dataspace_capability cap) override {
- return call(cap); }
+ addr_t dma_addr(Ram_dataspace_capability cap) override
+ {
+ addr_t const result = call(cap);
+
+ /* the platform driver may lack the 'managing_system' role */
+ if (!result)
+ warning("unable to obtain DMA address from platform driver");
+
+ return result;
+ }
};
#endif /* _INCLUDE__PLATFORM_SESSION__CLIENT_H_ */