[PATCH] PCI: Ignore pre-set 64-bit BARs on 32-bit platforms
authorH. Peter Anvin <hpa@c2micro.com>
Wed, 19 Apr 2006 00:19:52 +0000 (17:19 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 21 Jun 2006 18:59:59 +0000 (11:59 -0700)
commit17d6dc8ff098cc8c57941c82f7702804302b1ea1
tree866b2243517d1dae26f1fff0986ed08f96e63baa
parent83821d3f558dc651e555d62182ed0c95651f41a6
[PATCH] PCI: Ignore pre-set 64-bit BARs on 32-bit platforms

[pci] Ignore pre-set 64-bit BARs on 32-bit platforms

Currently, Linux always rejects a device which has a pre-set 64-bit
address on a 32-bit platform.  On systems which do not do PCI
initialization in firmware, this causes some devices which don't
correctly power up with all BARs zero to fail.

This patch makes the kernel automatically zero out such an address
(thus treating it as if it had not been set at all, meaning it will
assign an address if necessary).

I have done this only for devices, not bridges.  It seems potentially
hazardous to do for bridges.

Signed-off-by: H. Peter Anvin <hpa@c2micro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pci/probe.c