From 8f50b00f130d94f9a41c299256f86e302de31b3e Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Tue, 8 Sep 2015 16:03:57 +0200 Subject: [PATCH] usb_drv: fix shadowing of loop variable This patch also fixes the assignment of the pci_dev flags (the mem flag was never set). --- repos/dde_linux/src/lib/usb/pci_driver.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/repos/dde_linux/src/lib/usb/pci_driver.cc b/repos/dde_linux/src/lib/usb/pci_driver.cc index 62ea264fc8..ed1bc62748 100644 --- a/repos/dde_linux/src/lib/usb/pci_driver.cc +++ b/repos/dde_linux/src/lib/usb/pci_driver.cc @@ -167,8 +167,11 @@ class Pci_driver : public Genode::List::Element Device::Resource res = client.resource(i); _dev->resource[i].start = res.base(); _dev->resource[i].end = res.base() + res.size() - 1; - _dev->resource[i].flags = res.type() == Device::Resource::IO - ? IORESOURCE_IO : 0; + + unsigned flags = 0; + if (res.type() == Device::Resource::IO) flags |= IORESOURCE_IO; + if (res.type() == Device::Resource::MEMORY) flags |= IORESOURCE_MEM; + _dev->resource[i].flags = flags; /* request port I/O session */ if (res.type() == Device::Resource::IO) { @@ -286,8 +289,8 @@ class Pci_driver : public Genode::List::Element if (!d->_dev) continue; - uint8_t bar = 0; - for (unsigned bar = 0; bar < PCI_ROM_RESOURCE; bar++) { + unsigned bar = 0; + for (; bar < PCI_ROM_RESOURCE; bar++) { if ((pci_resource_flags(d->_dev, bar) & IORESOURCE_MEM) && (pci_resource_start(d->_dev, bar) == phys)) break;