Re: 2.6.22-rc6-mm1 Intel DMAR crash on AMD x86_64

From: Muli Ben-Yehuda
Date: Fri Jun 29 2007 - 12:24:20 EST


On Fri, Jun 29, 2007 at 08:28:58AM -0700, Keshavamurthy, Anil S wrote:

> Here is the revised patch of the above.
> Andrew, please add this fix to
> +intel-iommu-dmar-detection-and-parsing-logic.patch
> ------------------------------------------------
>
> Check for dmar_tbl pointer as this can be NULL on
> systems with no Intel VT-d support.
>
> Signed-off-by: Anil S Keshavamurthy <anil.s.keshavamurthy@xxxxxxxxx>
>
> ---
> drivers/pci/dmar.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> Index: linux-2.6.22-rc4-mm2/drivers/pci/dmar.c
> ===================================================================
> --- linux-2.6.22-rc4-mm2.orig/drivers/pci/dmar.c 2007-06-29 07:43:43.000000000 -0700
> +++ linux-2.6.22-rc4-mm2/drivers/pci/dmar.c 2007-06-29 07:46:25.000000000 -0700
> @@ -260,6 +260,8 @@
> int ret = 0;
>
> dmar = (struct acpi_table_dmar *)dmar_tbl;
> + if (!dmar)
> + return -ENODEV;
>
> if (!dmar->width) {
> printk (KERN_WARNING PREFIX "Zero: Invalid DMAR haw\n");
> @@ -301,7 +303,7 @@
>
> parse_dmar_table();
> if (list_empty(&dmar_drhd_units)) {
> - printk(KERN_ERR PREFIX "No DMAR devices found\n");
> + printk(KERN_INFO PREFIX "No DMAR devices found\n");
> return -ENODEV;
> }
> return 0;

The convention is to print a KERN_DEBUG message if hardware is not
found when probing it, otherwise the boot messages become cluttered
with lots of "$FOO not found".

Cheers,
Muli
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/