amd_iommu: fix nasty bug that caused ILLEGAL_DEVICE_TABLE_ENTRY errors
authorAndreas Herrmann <andreas.herrmann3@amd.com>
Thu, 16 Oct 2008 14:27:36 +0000 (16:27 +0200)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Sat, 18 Oct 2008 13:29:30 +0000 (14:29 +0100)
commitf609891f428e1c20e270e7c350daf8c93cc459d7
treec08fe134b55bdb13b7d0f4c4105cd683037d7cfb
parent5b6985ce8ec7127b4d60ad450b64ca8b82748a3b
amd_iommu: fix nasty bug that caused ILLEGAL_DEVICE_TABLE_ENTRY errors

We are on 64-bit so better use u64 instead of u32 to deal with
addresses:

static void __init iommu_set_device_table(struct amd_iommu *iommu)
{
        u64 entry;
  ...
        entry = virt_to_phys(amd_iommu_dev_table);
  ...

(I am wondering why gcc 4.2.x did not warn about the assignment
between u32 and unsigned long.)

Cc: iommu@lists.linux-foundation.org
Cc: stable@kernel.org
Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
arch/x86/kernel/amd_iommu_init.c