On 2022-04-05 13:29, Takashi Iwai wrote:
On Tue, 05 Apr 2022 14:13:33 +0200,
Robin Murphy wrote:
iommu_get_domain_for_dev() is already perfectly happy to return NULL
if the given device has no IOMMU. Drop the unnecessary check.
Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx>
This will change the code behavior. The current code does nothing if
no IOMMU is found, but after your removal of the check, the code
reaches to emu->iommu_workaround = true incorrectly.
Ah, right you are - I should have looked more closely at the second
check, where of course "domain &&" wants tweaking to "!domain ||" as
well. I'll send a v2 in a bit...
Thanks,
Robin.
thanks,
Takashi
---
sound/pci/emu10k1/emu10k1_main.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c
index 86cc1ca025e4..5ffab343b89c 100644
--- a/sound/pci/emu10k1/emu10k1_main.c
+++ b/sound/pci/emu10k1/emu10k1_main.c
@@ -1751,9 +1751,6 @@ static void snd_emu10k1_detect_iommu(struct snd_emu10k1 *emu)
emu->iommu_workaround = false;
- if (!iommu_present(emu->card->dev->bus))
- return;
-
domain = iommu_get_domain_for_dev(emu->card->dev);
if (domain && domain->type == IOMMU_DOMAIN_IDENTITY)
return;
--
2.28.0.dirty