usb: handle quota_exceed exception of pci_drv

Issue #755
This commit is contained in:
Alexander Boettcher
2015-05-12 15:39:04 +02:00
committed by Christian Helmuth
parent 493bcc80df
commit ccc0f4c2ec

View File

@ -327,7 +327,14 @@ int pci_register_driver(struct pci_driver *drv)
} }
Pci::Device_capability free_up = cap; Pci::Device_capability free_up = cap;
try {
cap = pci.next_device(cap, id->class_, id->class_mask); cap = pci.next_device(cap, id->class_, id->class_mask);
} catch (Pci::Device::Quota_exceeded) {
Genode::env()->parent()->upgrade(pci.cap(), "ram_quota=4096");
cap = pci.next_device(cap, id->class_, id->class_mask);
}
if (!pci_drv) if (!pci_drv)
pci.release_device(free_up); pci.release_device(free_up);
} }