Messages in this thread | | | Date | Tue, 26 Jun 2007 07:44:53 -0700 | From | "Keshavamurthy, Anil S" <> | Subject | Re: [Intel IOMMU 02/10] PCI generic helper function |
| |
On Mon, Jun 25, 2007 at 10:49:37PM -0700, Andrew Morton wrote: > On Tue, 19 Jun 2007 14:37:03 -0700 "Keshavamurthy, Anil S" <anil.s.keshavamurthy@intel.com> wrote: > > > +struct pci_dev * > > +pci_find_upstream_pcie_bridge(struct pci_dev *pdev) > > You didn't need a newline there, but that's what the rest of that file > does. Hu hum. > > > +{ > > + struct pci_dev *tmp = NULL; > > + > > + if (pdev->is_pcie) > > + return NULL; > > + while (1) { > > + if (!pdev->bus->self) > > + break; > > + pdev = pdev->bus->self; > > + /* a p2p bridge */ > > + if (!pdev->is_pcie) { > > + tmp = pdev; > > + continue; > > + } > > + /* PCI device should connect to a PCIE bridge */ > > + BUG_ON(pdev->pcie_type != PCI_EXP_TYPE_PCI_BRIDGE); > > I assume that if this bug triggers, we've found some broken hardware? > > Going BUG seems like a pretty rude reaction to this, especially when it > would be so easy to drop a warning and then recover. > > > How's about this? Looks good, thanks.
> > --- a/drivers/pci/search.c~intel-iommu-pci-generic-helper-function-fix > +++ a/drivers/pci/search.c > @@ -38,7 +38,11 @@ pci_find_upstream_pcie_bridge(struct pci > continue; > } > /* PCI device should connect to a PCIE bridge */ > - BUG_ON(pdev->pcie_type != PCI_EXP_TYPE_PCI_BRIDGE); > + if (pdev->pcie_type != PCI_EXP_TYPE_PCI_BRIDGE) { > + /* Busted hardware? */ > + WARN_ON_ONCE(1); > + return NULL; > + } > return pdev; > } > - 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/
| |