latest git from Linus. On a Thinkpad x200s with VT-d enabled (if I disable VT-d, this of course goes away). The oops happens very early during boot in device_to_iommu (called from domain_context_mapping_one). Looking at the code dump and the disassembled function here's where the error happens: static struct intel_iommu *device_to_iommu(u8 bus, u8 devfn) { struct dmar_drhd_unit *drhd = NULL; int i; for_each_drhd_unit(drhd) { if (drhd->ignored) continue; for (i = 0; i < drhd->devices_cnt; i++) if (drhd->devices[i]->bus->number == bus && --> drhd->devices[0] is NULL drhd->devices[i]->devfn == devfn) return drhd->iommu; Given how early this happens it's a little hard to provide logs, etc. I literally used delay_boot=100 and wrote things down by hand (forgot my digital camera) and then added printk's to verify). please let me know what other data I should collect. The system ran fine with the 2.6.28 release kernel. /D -- Dirk Hohndel Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html