]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
iommu/amd: Fix bug in put_pasid_state_wait
authorOded Gabbay <oded.gabbay@amd.com>
Thu, 16 Apr 2015 14:08:44 +0000 (17:08 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 6 Jun 2015 15:20:47 +0000 (08:20 -0700)
commit9f453d6e25ac30a74af17975313604c71c5c599c
tree3421d36725cc1c1822f1a8e155dcc306feb4924e
parentef20854f7600f5019f1869fb331f73281f834257
iommu/amd: Fix bug in put_pasid_state_wait

commit 1bf1b431d98d7e5b5419876d4c219469e60693e1 upstream.

This patch fixes a bug in put_pasid_state_wait that appeared in kernel 4.0
The bug is that pasid_state->count wasn't decremented before entering the
wait_event. Thus, the condition in wait_event will never be true.

The fix is to decrement (atomically) the pasid_state->count before the
wait_event.

Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/iommu/amd_iommu_v2.c