Skip to content
  • Kevin Mitchell's avatar
    iommu/amd: Only free resources once on init error · 5c90501a
    Kevin Mitchell authored
    
    
    When amd_iommu=off was specified on the command line, free_X_resources
    functions were called immediately after early_amd_iommu_init. They were
    then called again when amd_iommu_init also failed (as expected).
    
    Instead, call them only once: at the end of state_next() whenever
    there's an error. These functions should be safe to call any time and
    any number of times. However, since state_next is never called again in
    an error state, the cleanup will only ever be run once.
    
    This also ensures that cleanup code is run as soon as possible after an
    error is detected rather than waiting for amd_iommu_init() to be called.
    
    Signed-off-by: default avatarKevin Mitchell <kevmitch@arista.com>
    Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
    5c90501a