On Tue, Mar 31, 2026 at 5:28 PM Christian König <[email protected]> wrote: > > That should be unecessary. We already replaced GFP_KERNEL with GFP_ATOMIC in > Alex fixes pull. > > I would turn that around, e.g. if (r < 0) return r; > > Apart from that looks good to me.
Hi Christian, Thanks for the review. I've sent v7 rebased on amd-staging-drm-next (on top of dccd79bb1c7f) with the inverted error check as you suggested. The Fixes: tag now points to e6d765de3d6b which introduced the plain spin_lock() for the PASID IDR. The sleeping-under-spinlock is already fixed by dccd79bb1c7f, but the IRQ safety issue remains — amdgpu_pasid_free() is reachable from hardirq via the fence callback path while the lock is taken without irqsave in process context. I hit this lockdep WARNING on an RX 7900 XTX when exiting a Vulkan game under Proton. The xarray conversion with XA_FLAGS_LOCK_IRQ fixes this. https://lore.kernel.org/all/[email protected]/ -- Thanks, Mike Gavrilov.
