atomic_cmpxchg
} while (atomic_cmpxchg(&drv->last_seq, last_seq, seq) != last_seq);
if (!atomic_cmpxchg(&adev->uvd.handles[i], 0, handle)) {
atomic_cmpxchg(&adev->uvd.handles[i], handle, 0);
if (!atomic_cmpxchg(&p->adev->vce.handles[i], 0, handle)) {
if (!atomic_cmpxchg(&p->rdev->uvd.handles[i], 0, handle)) {
atomic_cmpxchg(&p->rdev->uvd.handles[i], handle, 0);
if (!atomic_cmpxchg(&p->rdev->vce.handles[i], 0, handle)) {
atomic_cmpxchg(&p->rdev->vce.handles[i], handle, 0);