1. 08 Jul, 2005 34 commits
  2. 07 Jul, 2005 5 commits
  3. 06 Jul, 2005 1 commit
    • Ivan Kokshaysky's avatar
      [PATCH] yet another fix for setup-bus.c/x86 merge · 960b8466
      Ivan Kokshaysky authored
      There is a slight disagreement between setup-bus.c code and traditional
      x86 PCI setup wrt which recourses are invalid vs resources that are free
      for further allocations.
      
      In particular, in the setup-bus.c, if we failed to allocate some resource,
      we nullify "start" and "flags" fields, but *not* the "end" one.
      
      But x86 pcibios_enable_resources() does the following check:
      
      	if (!r->start && r->end) {
      		printk(KERN_ERR "PCI: Device %s not available because of resource collisions\n", pci_name(dev));
      		return -EINVAL;
      
      which means that the device owning the offending resource cannot be
      enabled.
      
      In particular, this breaks cardbus behind the normal decode p2p bridge -
      the cardbus code from setup-bus.c requests rather large IO and MEM
      windows, and if it fails, the socket is completely unavailable.  Which
      is wrong, as the yenta code is capable to allocate smaller windows.
      Signed-off-by: default avatarIvan Kokshaysky <ink@jurassic.park.msu.ru>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      960b8466