[Bug 715930] Re: geninitrd fails on masked vendor:device entries.
Elan Ruusamäe
715930 at bugs.launchpad.net
Fri Feb 11 13:10:14 CET 2011
sorry, you were wrong, there is no bitwise matching, arekm looked it up from code.
so reverted bitwise and added special value only
could you retest with trunk again?
the code:
for(map = pcimap_list; map != NULL; map = map->next) {
if (((map->class ^ class) & map->class_mask) == 0 &&
((desired_class ^ class) & desired_classmask)==0 &&
(map->dev == DEVICE_ANY ||
map->dev == dev->device_id) &&
(map->vendor == VENDOR_ANY ||
map->vendor == dev->vendor_id) &&
(map->subsys_dev == DEVICE_ANY ||
map->subsys_dev == subsys_dev) &&
(map->subsys_vendor == VENDOR_ANY ||
map->subsys_vendor == subsys_vendor) &&
prevmodule != map->module) {
printf("%s\n", map->module);
prevmodule = map->module;
}
}
--
You received this bug notification because you are subscribed to PLD
Linux.
https://bugs.launchpad.net/bugs/715930
Title:
geninitrd fails on masked vendor:device entries.
Status in PLD Linux Distribution:
New
Bug description:
the new logic in /lib/geninitrd/mod-sata.sh is broken. it simply
doesn't work for masked vendor's devices.
e.g., for jmicorn sata/ide controlers we have masked 0xffff (all
devices) entries:
pata_jmicron 0x0000197b 0x0000ffff 0x0000ffff 0x0000ffff 0x00010100 0x00ffff00 0x0
jmicron 0x0000197b 0x0000ffff 0x0000ffff 0x0000ffff 0x00010100 0x00ffff00 0x0
in such situation the awk logic which uses equality operator won't work and return empty list of kernel modules.
this is a serious bug.
geninitrd-10000.31-0.1.noarch
More information about the pld-bugs
mailing list