From 7bf8981adb47c12a4b5dc1a86eaf5f8ebe66bf7d Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Wed, 17 Feb 2010 16:42:08 -0800 Subject: [PATCH] --- yaml --- r: 180671 b: refs/heads/master c: 172d2d0041fdd4f3617dbdff8296bf279db3d5fb h: refs/heads/master i: 180669: a8c09791f49eb4868c8f25597973aed521356f8d 180667: ab0e5b24c74592601496c8ea2de73ad3185516d0 180663: d89c454c1413ccef713080fcc510461ba38dd7c4 180655: 6558f0ff9d25789e8ade690179807cccb902a490 180639: d2bd319da31ca7ade3ed0a51dac880b1f4ee9906 180607: 27b6b1ca9c70bd2cbcf8d43e97e20b16c081188b v: v3 --- [refs] | 2 +- trunk/arch/sparc/kernel/pci.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index d416033af9ab..df9a1bae6d83 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8c2fcadc933f713d51f46ec4dcd9b12830e0df84 +refs/heads/master: 172d2d0041fdd4f3617dbdff8296bf279db3d5fb diff --git a/trunk/arch/sparc/kernel/pci.c b/trunk/arch/sparc/kernel/pci.c index 539e83f8e087..592b03d85167 100644 --- a/trunk/arch/sparc/kernel/pci.c +++ b/trunk/arch/sparc/kernel/pci.c @@ -247,6 +247,7 @@ static struct pci_dev *of_create_pci_dev(struct pci_pbm_info *pbm, struct pci_bus *bus, int devfn) { struct dev_archdata *sd; + struct pci_slot *slot; struct of_device *op; struct pci_dev *dev; const char *type; @@ -286,6 +287,11 @@ static struct pci_dev *of_create_pci_dev(struct pci_pbm_info *pbm, dev->dev.bus = &pci_bus_type; dev->devfn = devfn; dev->multifunction = 0; /* maybe a lie? */ + set_pcie_port_type(dev); + + list_for_each_entry(slot, &dev->bus->slots, list) + if (PCI_SLOT(dev->devfn) == slot->number) + dev->slot = slot; dev->vendor = of_getintprop_default(node, "vendor-id", 0xffff); dev->device = of_getintprop_default(node, "device-id", 0xffff); @@ -322,6 +328,7 @@ static struct pci_dev *of_create_pci_dev(struct pci_pbm_info *pbm, dev->current_state = 4; /* unknown power state */ dev->error_state = pci_channel_io_normal; + dev->dma_mask = 0xffffffff; if (!strcmp(node->name, "pci")) { /* a PCI-PCI bridge */