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
1 changed files with 8 additions and 1 deletions

View File

@ -327,7 +327,14 @@ int pci_register_driver(struct pci_driver *drv)
}
Pci::Device_capability free_up = cap;
cap = pci.next_device(cap, id->class_, id->class_mask);
try {
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)
pci.release_device(free_up);
}