summaryrefslogtreecommitdiff
path: root/drivers/acpi/arm64/iort.c
diff options
context:
space:
mode:
authorRobin Murphy <robin.murphy@arm.com>2017-01-16 12:58:07 +0000
committerJoerg Roedel <jroedel@suse.de>2017-01-17 16:49:24 +0100
commit797a8b4d768c58caac58ee3e8cb36a164d1b7751 (patch)
tree6f7bdf319d1bf50bbfef970167755d464eabb499 /drivers/acpi/arm64/iort.c
parenteba484b51b8c1346759785d40fa4d6ec5590b705 (diff)
iommu: Handle default domain attach failure
We wouldn't normally expect ops->attach_dev() to fail, but on IOMMUs with limited hardware resources, or generally misconfigured systems, it is certainly possible. We report failure correctly from the external iommu_attach_device() interface, but do not do so in iommu_group_add() when attaching to the default domain. The result of failure there is that the device, group and domain all get left in a broken, part-configured state which leads to weird errors and misbehaviour down the line when IOMMU API calls sort-of-but-don't-quite work. Check the return value of __iommu_attach_device() on the default domain, and refactor the error handling paths to cope with its failure and clean up correctly in such cases. Fixes: e39cb8a3aa98 ("iommu: Make sure a device is always attached to a domain") Reported-by: Punit Agrawal <punit.agrawal@arm.com> Signed-off-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/acpi/arm64/iort.c')
0 files changed, 0 insertions, 0 deletions