[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