X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=source%2Fsysteminfo.py;h=94d9f788606e15ce9fdcd92555c982e9009d5492;hb=e852304a6790c784556eb6cba41bff935037b7b0;hp=25f5ea624f1f507d9610d4f9bc5342c159f1d4cb;hpb=010f7ba752caa975e74b131f1b289082dabc3a6d;p=bootmanager.git diff --git a/source/systeminfo.py b/source/systeminfo.py index 25f5ea6..94d9f78 100755 --- a/source/systeminfo.py +++ b/source/systeminfo.py @@ -277,14 +277,22 @@ def get_system_modules( vars = {}, log = sys.stderr): # XXX: this is really similar to what BootCD/conf_files/pl_hwinit does. merge? pcidevs = get_devices() - for slot in sorted(pcidevs.keys()): + devlist=pcidevs.keys() + devlist.sort() + for slot in devlist: dev = pcidevs[slot] base = (dev[4] & 0xff0000) >> 16 + modules = pcimap.get(dev) if base not in (PCI_BASE_CLASS_STORAGE, PCI_BASE_CLASS_NETWORK): - continue + # special exception for forcedeth NICs whose base id + # claims to be a Bridge, even though it is clearly a + # network device + if "forcedeth" in modules: + base=PCI_BASE_CLASS_NETWORK + else: + continue - modules = pcimap.get(dev) if len(modules) > 0: if base == PCI_BASE_CLASS_NETWORK: network_mods += modules