• Linus Torvalds's avatar
    Fix cardbus resource allocation · 934b7024
    Linus Torvalds authored
    Commit 88452565 ("PCI: clean up resource
    alignment management") didn't set the alignment information for the
    cardbus window resources, causing their subsequent allocations to fail
    miserably with a message like
    
      yenta_cardbus 0000:15:00.0: device not available because of BAR 7 [100:1ff] collisions
      yenta_cardbus: probe of 0000:15:00.0 failed with error -16
    
    or similar.
    
    This fixes it and clarifies the code a bit too (we used to have to use
    the insane PCI bridge alignment logic that put the alignment in the
    "start" field, this makes it use the slightly easier-to-understand
    size-based alignment, and allows us to set the resource start to zero
    until it gets allocated).
    Reported-and-tested-by: default avatarJeff Chua <jeff.chua.linux@gmail.com>
    Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
    Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    934b7024
setup-bus.c 15.7 KB