Re: [PATCH] ALSA: emu10k1: Stop using iommu_present()

From: Robin Murphy
Date: Tue Apr 05 2022 - 20:41:57 EST


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