cxl: Fix afu_read() not doing finish_wait() on signal or non-blocking
authorIan Munsie <imunsie@au1.ibm.com>
Thu, 9 Oct 2014 00:17:46 +0000 (11:17 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 9 Oct 2014 00:29:57 +0000 (11:29 +1100)
If afu_read() returned due to a signal or the AFU file descriptor being
opened non-blocking it would not call finish_wait() before returning,
which could lead to a crash later when something else wakes up the wait
queue.

This patch restructures the wait logic to ensure that the cleanup is
done correctly.

Signed-off-by: Ian Munsie <imunsie@au1.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>

No differences found