26 lines
863 B
Diff
26 lines
863 B
Diff
|
# HG changeset patch
|
||
|
# User Jan Beulich <jbeulich@suse.com>
|
||
|
# Date 1361176655 -3600
|
||
|
# Node ID 57e67af5281a6b66cf71dfa812e4335930684fd6
|
||
|
# Parent 45d59b822ed187c535b127679e32853b148ed411
|
||
|
AMD IOMMU: don't BUG() when we don't have to
|
||
|
|
||
|
find_iommu_for_device() can easily return NULL instead, as all of its
|
||
|
callers are prepared for that.
|
||
|
|
||
|
Signed-off-by: Jan Beulich <jbeulich@suse.com>
|
||
|
|
||
|
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
|
||
|
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
|
||
|
@@ -32,8 +32,8 @@ struct amd_iommu *find_iommu_for_device(
|
||
|
{
|
||
|
struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
|
||
|
|
||
|
- BUG_ON ( bdf >= ivrs_bdf_entries );
|
||
|
- return ivrs_mappings ? ivrs_mappings[bdf].iommu : NULL;
|
||
|
+ return ivrs_mappings && bdf < ivrs_bdf_entries ? ivrs_mappings[bdf].iommu
|
||
|
+ : NULL;
|
||
|
}
|
||
|
|
||
|
/*
|