Fix cardbus resource allocation
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 23 Apr 2008 01:16:30 +0000 (18:16 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 23 Apr 2008 01:16:30 +0000 (18:16 -0700)
commit934b7024f0ed29003c95cef447d92737ab86dc4f
treeeade0cdc07dbb8ab46c57244444fc8697e129f66
parent29591b92e19f409d5ad4c099c2b7b5ea56f50dfa
Fix cardbus resource allocation

Commit 884525655d07fdee9245716b998ecdc45cdd8007 ("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: Jeff Chua <jeff.chua.linux@gmail.com>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/pci/setup-bus.c