Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: x86/pci: fix mmconfig detection with 32bit near 4g PCI: use fixed-up device class when configuring device
This commit is contained in:
commit
ccc0d38ec1
@ -375,7 +375,7 @@ static acpi_status __init check_mcfg_resource(struct acpi_resource *res,
|
|||||||
if (!fixmem32)
|
if (!fixmem32)
|
||||||
return AE_OK;
|
return AE_OK;
|
||||||
if ((mcfg_res->start >= fixmem32->address) &&
|
if ((mcfg_res->start >= fixmem32->address) &&
|
||||||
(mcfg_res->end <= (fixmem32->address +
|
(mcfg_res->end < (fixmem32->address +
|
||||||
fixmem32->address_length))) {
|
fixmem32->address_length))) {
|
||||||
mcfg_res->flags = 1;
|
mcfg_res->flags = 1;
|
||||||
return AE_CTRL_TERMINATE;
|
return AE_CTRL_TERMINATE;
|
||||||
@ -392,7 +392,7 @@ static acpi_status __init check_mcfg_resource(struct acpi_resource *res,
|
|||||||
return AE_OK;
|
return AE_OK;
|
||||||
|
|
||||||
if ((mcfg_res->start >= address.minimum) &&
|
if ((mcfg_res->start >= address.minimum) &&
|
||||||
(mcfg_res->end <= (address.minimum + address.address_length))) {
|
(mcfg_res->end < (address.minimum + address.address_length))) {
|
||||||
mcfg_res->flags = 1;
|
mcfg_res->flags = 1;
|
||||||
return AE_CTRL_TERMINATE;
|
return AE_CTRL_TERMINATE;
|
||||||
}
|
}
|
||||||
@ -418,7 +418,7 @@ static int __init is_acpi_reserved(u64 start, u64 end, unsigned not_used)
|
|||||||
struct resource mcfg_res;
|
struct resource mcfg_res;
|
||||||
|
|
||||||
mcfg_res.start = start;
|
mcfg_res.start = start;
|
||||||
mcfg_res.end = end;
|
mcfg_res.end = end - 1;
|
||||||
mcfg_res.flags = 0;
|
mcfg_res.flags = 0;
|
||||||
|
|
||||||
acpi_get_devices("PNP0C01", find_mboard_resource, &mcfg_res, NULL);
|
acpi_get_devices("PNP0C01", find_mboard_resource, &mcfg_res, NULL);
|
||||||
|
@ -745,6 +745,8 @@ int pci_setup_device(struct pci_dev *dev)
|
|||||||
|
|
||||||
/* Early fixups, before probing the BARs */
|
/* Early fixups, before probing the BARs */
|
||||||
pci_fixup_device(pci_fixup_early, dev);
|
pci_fixup_device(pci_fixup_early, dev);
|
||||||
|
/* device class may be changed after fixup */
|
||||||
|
class = dev->class >> 8;
|
||||||
|
|
||||||
switch (dev->hdr_type) { /* header type */
|
switch (dev->hdr_type) { /* header type */
|
||||||
case PCI_HEADER_TYPE_NORMAL: /* standard header */
|
case PCI_HEADER_TYPE_NORMAL: /* standard header */
|
||||||
|
Loading…
Reference in New Issue
Block a user