Re: [regression] usb and thunderbould are misbehaving or broken due to iommu/vt-d change

From: Markus Rathgeb
Date: Thu Aug 29 2024 - 03:24:55 EST


While reading the diff of f90584f4beb84211c4d21b319cc13f391fe9f3c2 I
wonder if the following change is correct.

It is about iommu.c and the change to domain_context_clear_one function.

Previously you first store the domain_id to did_old and then you call
context_clear_entry.
After that you use iommu->flush.flush_context and provide the did_old,
so the value before clearing the entry.

Now, you call context_clear_entry and after that you call
intel_context_flush_present that contains the remaining part.
In intel_context_flush_present the domain_id will betaken (AFTER it
has been cleared) and call flush_context with it.

Is this done by intention or changed behaviour?