Messages in this thread | | | Date | Wed, 12 Sep 2007 09:47:45 +0200 | From | "Kövedi Krisztián" <> | Subject | Re: [Sparc64 BUG] hangup under booting 2.6.22.X whith Sparc64 |
| |
2007/9/11, David Miller <davem@davemloft.net>: > > I think this patch should fix the problem. > > Please give it a try, thanks. > > diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c > index 139b4cf..e8dac81 100644 > --- a/arch/sparc64/kernel/pci.c > +++ b/arch/sparc64/kernel/pci.c > @@ -744,7 +744,7 @@ static void __devinit pci_of_scan_bus(struct pci_pbm_info *pbm, > { > struct device_node *child; > const u32 *reg; > - int reglen, devfn; > + int reglen, devfn, prev_devfn; > struct pci_dev *dev; > > if (ofpci_verbose) > @@ -752,14 +752,25 @@ static void __devinit pci_of_scan_bus(struct pci_pbm_info *pbm, > node->full_name, bus->number); > > child = NULL; > + prev_devfn = -1; > while ((child = of_get_next_child(node, child)) != NULL) { > if (ofpci_verbose) > printk(" * %s\n", child->full_name); > reg = of_get_property(child, "reg", ®len); > if (reg == NULL || reglen < 20) > continue; > + > devfn = (reg[0] >> 8) & 0xff; > > + /* This is a workaround for some device trees > + * which list PCI devices twice. On the V100 > + * for example, device number 3 is listed twice. > + * Once as "pm" and once again as "lomp". > + */ > + if (devfn == prev_devfn) > + continue; > + prev_devfn = devfn; > + > /* create a new pci_dev for this device */ > dev = of_create_pci_dev(pbm, child, bus, devfn, 0); > if (!dev) >
Thanks The patch work fine the kernel booting up without error messages.
when i patch the kernel become this error message:
patch -p1 < ~/2.6.22.6.patch patching file arch/sparc64/kernel/pci.c Hunk #1 FAILED at 744. Hunk #2 FAILED at 752. 2 out of 2 hunks FAILED -- saving rejects to file arch/sparc64/kernel/pci.c.rej
but i add manual this patch the kernel and it works. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |