ide-pci.c bug:
 
ide_setup_pci_baseregs() may inappropriately report device as not capable of full native PCI:
 
//  BUGGY LINE: ============
    if (pci_read_config_byte(dev, PCI_CLASS_PROG, &progif) || (progif & 5) != 5) {
//  =========   TWO CONDITIONS USING PROGIF
       if ((progif & 0xa) != 0xa) {
          printk("%s: device not capable of full native PCI mode\n", name);
          return 1;
      }
 
 ...
 
    In the first line of code above there is no guarantee that the first condition will be executed
before the second.  As progif is set to 0 before this block of code, the second test will always
be true if it is executed prior to the first.
 
 

Reply via email to