HIDP_WAITING_FOR_RETURN
set_bit(HIDP_WAITING_FOR_RETURN, &session->flags);
while (test_bit(HIDP_WAITING_FOR_RETURN, &session->flags) &&
!test_bit(HIDP_WAITING_FOR_RETURN, &session->flags)
clear_bit(HIDP_WAITING_FOR_RETURN, &session->flags);
clear_bit(HIDP_WAITING_FOR_RETURN, &session->flags);
if (test_and_clear_bit(HIDP_WAITING_FOR_RETURN, &session->flags))
if (test_bit(HIDP_WAITING_FOR_RETURN, &session->flags) &&
clear_bit(HIDP_WAITING_FOR_RETURN, &session->flags);