|
@@ -266,14 +266,7 @@ static void put_pasid_state(struct pasid_state *pasid_state)
|
|
|
|
|
|
static void put_pasid_state_wait(struct pasid_state *pasid_state)
|
|
|
{
|
|
|
- DEFINE_WAIT(wait);
|
|
|
-
|
|
|
- prepare_to_wait(&pasid_state->wq, &wait, TASK_UNINTERRUPTIBLE);
|
|
|
-
|
|
|
- if (!atomic_dec_and_test(&pasid_state->count))
|
|
|
- schedule();
|
|
|
-
|
|
|
- finish_wait(&pasid_state->wq, &wait);
|
|
|
+ wait_event(pasid_state->wq, !atomic_read(&pasid_state->count));
|
|
|
free_pasid_state(pasid_state);
|
|
|
}
|
|
|
|