diff options
Diffstat (limited to 'drivers/iommu/amd_iommu_init.c')
| -rw-r--r-- | drivers/iommu/amd_iommu_init.c | 17 | 
1 files changed, 8 insertions, 9 deletions
| diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c index b0522f15730f..450ef5001a65 100644 --- a/drivers/iommu/amd_iommu_init.c +++ b/drivers/iommu/amd_iommu_init.c @@ -1,6 +1,6 @@  /*   * Copyright (C) 2007-2010 Advanced Micro Devices, Inc. - * Author: Joerg Roedel <[email protected]> + * Author: Joerg Roedel <[email protected]>   *         Leo Duran <[email protected]>   *   * This program is free software; you can redistribute it and/or modify it @@ -2014,9 +2014,6 @@ static bool detect_ivrs(void)  	/* Make sure ACS will be enabled during PCI probe */  	pci_request_acs(); -	if (!disable_irq_remap) -		amd_iommu_irq_remap = true; -  	return true;  } @@ -2123,12 +2120,14 @@ static int __init iommu_go_to_state(enum iommu_init_state state)  #ifdef CONFIG_IRQ_REMAP  int __init amd_iommu_prepare(void)  { -	return iommu_go_to_state(IOMMU_ACPI_FINISHED); -} +	int ret; -int __init amd_iommu_supported(void) -{ -	return amd_iommu_irq_remap ? 1 : 0; +	amd_iommu_irq_remap = true; + +	ret = iommu_go_to_state(IOMMU_ACPI_FINISHED); +	if (ret) +		return ret; +	return amd_iommu_irq_remap ? 0 : -ENODEV;  }  int __init amd_iommu_enable(void) |