From 7dcfc8bd492f4265987124f6c4b0007556b6df0a Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Thu, 24 Nov 2016 15:06:38 +0100 Subject: [PATCH] dde_bsd: handle platform session memory requests Issue #1039 --- repos/dde_bsd/src/lib/audio/bus.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/repos/dde_bsd/src/lib/audio/bus.cc b/repos/dde_bsd/src/lib/audio/bus.cc index c0d81eca55..8609fdbd7a 100644 --- a/repos/dde_bsd/src/lib/audio/bus.cc +++ b/repos/dde_bsd/src/lib/audio/bus.cc @@ -118,8 +118,12 @@ class Pci_driver : public Bsd::Bus_driver { Platform::Device_capability cap; /* shift values for Pci interface used by Genode */ - cap = _pci.next_device(prev, PCI_CLASS_MULTIMEDIA << 16, - PCI_CLASS_MASK << 16); + cap = Genode::retry( + [&] () { return _pci.next_device(prev, + PCI_CLASS_MULTIMEDIA << 16, + PCI_CLASS_MASK << 16); }, + [&] () { _pci.upgrade_ram(4096); }); + if (prev.valid()) _pci.release_device(prev); return cap;