• Su Friendy's avatar
    iommu/amd: fix enabling exclusion range for an exact device · 2c16c9fd
    Su Friendy authored
    set_device_exclusion_range(u16 devid, struct ivmd_header *m) enables
    exclusion range for ONE device. IOMMU does not translate the access
    to the exclusion range from the device.
    
    The device is specified by input argument 'devid'. But 'devid' is not
    passed to the actual set function set_dev_entry_bit(), instead
    'm->devid' is passed. 'm->devid' does not specify the exact device
    which needs enable the exclusion range. 'm->devid' represents DeviceID
    field of IVMD, which has different meaning depends on IVMD type.
    
    The caller init_exclusion_range() sets 'devid' for ONE device. When
    m->type is equal to ACPI_IVMD_TYPE_ALL or ACPI_IVMD_TYPE_RANGE,
    'm->devid' is not equal to 'devid'.
    
    This patch fixes 'm->devid' to 'devid'.
    Signed-off-by: default avatarSu Friendy <friendy.su@sony.com.cn>
    Signed-off-by: default avatarTamori Masahiro <Masahiro.Tamori@jp.sony.com>
    Signed-off-by: default avatarJoerg Roedel <joro@8bytes.org>
    2c16c9fd
amd_iommu_init.c 56.4 KB