intel_iommu: fix incorrect device invalidate
"mask" needs to be inverted before use.
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit 6cb99acc28
)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
stable-2.7
parent
248a780fd3
commit
0ef167c907
|
@ -985,6 +985,7 @@ static void vtd_context_device_invalidate(IntelIOMMUState *s,
|
|||
mask = 7; /* Mask bit 2:0 in the SID field */
|
||||
break;
|
||||
}
|
||||
mask = ~mask;
|
||||
VTD_DPRINTF(INV, "device-selective invalidation source 0x%"PRIx16
|
||||
" mask %"PRIu16, source_id, mask);
|
||||
vtd_bus = vtd_find_as_from_bus_num(s, VTD_SID_TO_BUS(source_id));
|
||||
|
|
Loading…
Reference in New Issue