Subject: Fix IOMMU early crash This patch avoids copying pci_bus's->sysdata to pci_dev's->sysdata as one can easily obtain the same through pci_dev->bus->sysdata.
Now with some recent pci_sysdata patches, the bus's->sysdata gets populated way early and a value of non-NULL gets copied from bus's->sysdata to pci_dev's->sysdata which causes IOMMU to crash way early in the boot time as IOMMU depends on this field for its per device IOMMU context. Hence this patch not only makes pci_dev's->sysdata useful and but also fixes the IOMMU early crash. This patch needs to be applied before IOMMU patches, so that git bisect will not fail on IOMMU code :-) Tested on x86_64. Please apply. Signed-off-by: Anil S Keshavamurthy <[EMAIL PROTECTED]> --- drivers/pci/hotplug/fakephp.c | 1 - drivers/pci/probe.c | 1 - 2 files changed, 2 deletions(-) Index: work/drivers/pci/hotplug/fakephp.c =================================================================== --- work.orig/drivers/pci/hotplug/fakephp.c 2007-09-11 10:29:30.000000000 -0700 +++ work/drivers/pci/hotplug/fakephp.c 2007-09-11 10:35:22.000000000 -0700 @@ -243,7 +243,6 @@ return; dev->bus = (struct pci_bus*)bus; - dev->sysdata = bus->sysdata; for (devfn = 0; devfn < 0x100; devfn += 8) { dev->devfn = devfn; pci_rescan_slot(dev); Index: work/drivers/pci/probe.c =================================================================== --- work.orig/drivers/pci/probe.c 2007-09-11 10:29:30.000000000 -0700 +++ work/drivers/pci/probe.c 2007-09-11 10:35:22.000000000 -0700 @@ -994,7 +994,6 @@ return NULL; dev->bus = bus; - dev->sysdata = bus->sysdata; dev->dev.parent = bus->bridge; dev->dev.bus = &pci_bus_type; dev->devfn = devfn; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/