Dne torek, 03. januar 2023 ob 02:08:59 CET je Samuel Holland napisal(a): > The refcount logic here is broken. The refcount is initialized to 1 with > no devices attached, so it will be decremented back to 1 when the last > device is detached. However, refcount_dec_and_test() returns true only > when the refcount gets decremented to zero, so the domain will never be > cleaned up, and the hardware will never be disabled. > > Replace the refcount with a mask of masters attached to the domain. The > domain can be cleaned up when the last master detaches. This mask is > also necessary to correctly set the bypass register. > > Fixes: 4100b8c229b3 ("iommu: Add Allwinner H6 IOMMU driver") > Signed-off-by: Samuel Holland <samuel@xxxxxxxxxxxx> Reviewed-by: Jernej Skrabec <jernej.skrabec@xxxxxxxxx> Best regards, Jernej